Time of Update: 2015-12-04
標籤:在iOS中需要精確計算時,double, float類型往往會出現不可預料的問題: 在調試過程中可以看到 doule 類型 d3 在計算過程中值不是預計的9999.99。 如果在要用中計算涉及到金額等重要資料,不建議使用這種不可控結果的方式,可以採用iOS提供的另外一種支援準確精度計算的資料類型
Time of Update: 2015-12-02
標籤:1.Foundation架構引用一張圖片Cocoa可以看作許多架構的集合,在iOS中包括Foundation架構和UIKit架構,Foundation架構裡主要是一些API供程式開發使用,UIKit則包括了許多UI繪製的函數。2.字串操作初始化字串: NSString *str1 = [[NSString alloc] init]; str1 = @"Hello,iOS."; NSString *str2 = [[NSString alloc]
Time of Update: 2015-12-01
標籤:(一)字串中的指標賦值,copy和mutablecopy NSString和NSString (1)指標賦值 肯定指向同一個字串地址。 (2)copy(和直接指向一樣) NSString *[email protected]"aaa"; NSString *str2=[str1 copy]; NSLog(@"str1:%p----str2:%p",&str1,&str2);
Time of Update: 2015-12-02
標籤:Objective-C 和 Core Foundation 對象相互轉換的記憶體管理 iOS允許Objective-C 和 Core Foundation 對象之間可以輕鬆的轉換,拿 NSString 和 CFStringRef 來說,直接轉換豪無壓力:CFStringRef aCFString = (CFStringRef)aNSString;NSString *aNSString = (NSString *)aCFString;針對記憶體管理問題,ARC 可以幫忙管理
Time of Update: 2015-12-01
標籤:1.Objective-C的指標世界OC一直是人感覺比較變態的一門語言,為什麼呢?因為它的每個變數都是指標型,多的都幾乎讓人忘了那個*的存在了。所以常常a=b這個等號讓我產生錯覺,總以為a從b那拷貝了一份。然而這的的確確,卻是個指標。a這個變數存的內容是b所在的地址。比如我定義了一個Student的Class,new了stu1和stu2,並把stu2=stu1,那當兩者任何一個進行修改時,兩個變數的內容都會修改。 Student *stu1=[[Student alloc]init]
Time of Update: 2015-11-30
標籤:大綱NSArrayNSMutableArray快速枚舉 NSArray NSArray是一個靜態數組,也就是一個不可變數組,一旦建立以後,就不能進行添加,刪除或者修改其中的元素.NSArray繼承自NSObject,用於管理一系列有序對象的集合,可以通過對象在數組中的位置(索引)來訪問對象.和C語言一樣,數組中元素的索引是從0開始的.數組中既可以用於存放同一個類的對象,也可以用於儲存不同類的對象.但不能存放nil,nil被視為數組結束的標誌,系統會在方法末尾自動產生
Time of Update: 2015-11-30
標籤:複合: 編程中的複合(composition)就好像音樂中的作曲(composition)一樣:將多個組件組合在一起,配合使用,從而得到完整的作品。 在Objective-C中,複合是通過包含作為執行個體變數的對象指標實現的。 在軟體開發中,程式員可能會使用一個Pedal(腳踏板)對象和一個Tire(輪胎)對象組合出虛擬Unicycle(獨輪車)。虛擬獨輪車應該擁有一個指向Pedal對象的指標和一個指向Tire對象的指標。Code 如下:@interface
Time of Update: 2015-11-29
標籤: 學習Java我們知道類有三大特徵,封裝,繼承,多態.而在Objective-C中也有繼承的概念,今天就來看看Objective-C中的繼承和多態. 首先,我們來看看範例程式碼://Animal.h#import <Foundation/Foundation.h> @interface Animal : NSObject{int food_consumption; //食量int count; //數量int parturition_days;
Time of Update: 2015-11-30
標籤: iOS中所謂的架構,說到底就是一個目錄,iOS提供了很多我們可以在應用程式中調用的架構。許多應用程式都使用了如Foundation、UIKit和Core Graphics這些架構。根據你為應用程式選擇的模版,相關的架構就已經被自動引入了。比如我們在OSX Application下的CommandLineTool建立一個Xcode工程時,系統會幫我們預設引入Foundation 架構: #import
Time of Update: 2015-11-30
標籤:NSString OC提供了定義字串對象的方法,也就是將想要表達的字串用一對雙引號引起來,並在開頭加上@[email protected]是OC中的指令符,它告訴編譯器@以後的內容為OC中的文法.比如@”Harbingwang”表示的是一個NSString類型的常量. NSString 是一個不可變的字串類,繼承自 NSObject
Time of Update: 2015-11-29
標籤:原文地址:http://tech.glowing.com/cn/objective-c-runtime/原顧鵬如有侵權,請聯絡本人刪除Objective-CObjective-C 擴充了 C 語言,並加入了物件導向特性和 Smalltalk 式的訊息傳遞機制。而這個擴充的核心是一個用 C 和 編譯語言 寫的 Runtime 庫。它是 Objective-C 物件導向和動態機制的基石。Objective-C
Time of Update: 2015-11-28
標籤:ios設計模式中的委託 Delegate官方文檔解釋如下:Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the
Time of Update: 2015-11-27
標籤:字典相當於c++ stl中的map字典NSDictionary 1 #import <UIKit/UIKit.h> 2 #import "AppDelegate.h" 3 4 int main(int argc, char * argv[]) { 5 // 從@符號建立字典 實際上就是索引值對容器 6 NSDictionary *dict = @{@"name":@"zhangsan",@"sex":@"male"}; 7
Time of Update: 2015-11-28
標籤:多態 多態的概念 有這樣一個例子.早上我和同事說口渴了.結果:A同事拿著我的水杯去給我接了一杯水.B同事順手在飲水機上拿了一次性紙杯給我接了杯水。C同事給了我一瓶他早上剛買的飲料。同事們得到的是同樣的請求,但是三個人都有各自的解決辦法,這就是多態。 在物件導向的程式設計理論中,多態(polymer
Time of Update: 2015-11-27
標籤: 對象就是一個物件。物件導向的程式設計可以看成一個物件和你想對它做的事情。這與C語言不同,C語言通常稱為過程性語言。在C語言中,通常是先考慮要做什麼,然後才關注對象,這幾乎總是與面相對象的思考過程相反。 在物件導向的用語中,(這裡我們以汽車作為對象)你的汽車是汽車的一個執行個體。car就是類的名稱,這個執行個體就是從該類建立的。因此,每製造一輛新汽車,就會建立汽車類的一個新執行個體,而且汽車的每個執行個體都稱為一個對象。對象使用對象執行的操作你的汽車駕駛加油洗車維修 每個
Time of Update: 2015-11-26
標籤:調用過程更加清晰+為靜態方法 1 // 類定義 2 @interface People : NSObject{ 3 int _age; 4 NSString* _name; 5 } 6 // Factory 方法 靜態 7 +(People*)peopleWithAge:(int)age andName:(NSString*)name; 8 9 -(id)initWithAge:(int)age andName:(NSString*)name;10
Time of Update: 2015-11-26
標籤: 1 // 2 // main.m 3 // L02HelloObjC 4 // 5 // Created by JinXin on 15/11/25. 6 // Copyright © 2015年 JinXin. All rights reserved. 7 // 8 9 #import <UIKit/UIKit.h>10 #import "AppDelegate.h"11 12 // 類的聲名部分13 @interface Hello :
Time of Update: 2015-11-26
標籤:在接觸到開源項目 Masonry
Time of Update: 2015-11-26
標籤: 物件導向的三大特性:封裝、繼承和多態 封裝目的就是將資料隱藏起來,外界只能通過這個類的方法(介面)才能訪問或者設定裡面的資料,不可以在外部直接修改或者訪問裡面的資料,通常使用方法來達到封裝一個類的目的,最終使這個類達到高內聚低耦合的目的. 耦合說的是一個軟體結構宏各個模組之間的相互關聯相互緊密的程度,模組之間的聯絡越精密,其耦合性也就越強,模組間耦合的高低取決於模組之間介面的複雜性,調用資訊的方式及傳遞的資訊. 內聚說的是單個模組內各個元素之間彼此結合的緊密程度,所謂高內聚就是一
Time of Update: 2015-11-26
標籤:著作權聲明:本文為博主原創文章,未經博主允許不得轉載。 代碼塊本質上是和其他變數類似。不同的是,代碼Block Storage的資料是一個函數體。使用代碼塊是,你可以像調用其他標準函數一樣,傳入參數數,並得到傳回值。脫字元(^)是塊的文法標記。按照我們熟悉的參數文法規約所定義的傳回值以及塊的主體(也就是可以執行的代碼)。是如何把塊變數賦值給一個變數的文法講解:按照調用函數的方式調用塊物件變數就可以了:int result =