從今天開始我要分期把我的IOS學習期間的筆記發出來,以幫助剛入門的朋友們能夠更快的掌握IOS的編程方法,也供自己以後有個回看的筆記。
有些地方可能不太詳細,但是隻要你一步一步的按照學下去,不懂的查找資料,一定能夠學好的。
Objective-C 語言中如何聲明變量
命名規則 駝峰規則 不要有特殊字符
數據類型
NSInteger 可以表示負數 整形變量 NSUInteger 不可以表示負數
Float 浮點型的數據,例如 1.23
NString string 類型的數據,比如"Mrs Thomson"
NSArray 其實也就是一個數組,比如說你有十個文件對象,那麼你可以把他們保存在這個裡面. NSSet 你可以保存唯一的,沒有重復的集合對象。
邏輯判斷
比較對象最好用 isEqual:
NSObject *object1 = [ [NSObject alloc] init];
NSObject *object2 = [ [NSObject alloc] init];
if([object1 isEqual:object2]){
NSLog(@"Both objects are equal.");
}else{
NSLog(@"Objects are not equal.");
}
創建自定義類
類是一個抽象實體。
在OC中,類通常由以下兩部分組成:頭文件:.h為後綴 執行文件:.m為後綴
定義類的功能
Objective-C 裡,一個程序返回void表示它不返回一個類似的函數的值。但它實際上是會返回值的,是用C語言寫的一個無主函數。
方法分為兩類:實例或類,實例方法前面用-開頭,類方法用+開頭。
創建一個方法的步驟:
1.方法類型 (實例方法或是類方法)
2.選擇的方法的返回類型,並在括號內。(void)沒有返回值,(BOOL)一個佈爾值,(NSObject *)返回NSObject 的一個實例,等等。
3.選擇一個方法的名字,以小寫字母開頭。
4.如果你不像你的方法含有參數,直接跳到步驟9.
5.給參數取兩個名稱。一個名稱作為方法名稱的一部分,將會唄外部的方法所用,另一個名稱將被作為方法內的一個參數名。
6.給參數取好名字後,給方法選擇數據類型並括在括號內。
7.在你的參數的第一個所選名稱後加上冒號(如果有),並加上括號,括號裡依次為方法的數據類型和參數的第二個名稱。
8.如還有多個蠶食請重復5至7步驟。
9.在方法名和參數後插入一個開放的大括號。大括號裡面就是實現該方法功能的代碼。
分配和初始化對象
必須先分配和初始化一個對象才能使用它,可以使用alloc這個實例方法來分配一個對象。該類方法會為對象,對象的實例和方法分配內存空間。但是被分配的內存並未定義,所以在使用對象之前先分配和初始化它。
繼承自NSObject的對象必須經過一下兩步才才能使用:
1.分配 2.初始化
添加類的屬性
使用關鍵字 @property 給類定義屬性。
任何一個通過點表示的都是一個屬性,屬性是方法的快捷方式。
NSObject *myObject = [[NSObject alloc]init];
myObject.accessibilityHint = @"Some string";
accessibilityHint 就是一個屬性
定義方法:@property(non atomic,copy)NSString * accessibilityHint;
當定義一個屬性時,會告訴告訴編譯器我們將會給這個屬性寫上一個setter和getter方法,如果在這裡設置一個值,運行時將會執行setter方法,如果讀取屬性,則執行的 getter方法。
在.m中@synthesize 關鍵字讓編譯器自動為屬性生成setter和getter方法。
@property(nonamotic,strong,readonly)NSString *lastName;隻讀屬性。
將手動引用計數修改為自動引用計數(ARC)
存儲屬性 : strong,weak, unsafe, unretained。 ARC管理下的任何對象都會有一個存儲屬性。
strong :聲明為Strong類型的對象會在執行時期自動保留且在生命周期結束前都是有效的,並在結束後自動釋放。就像OC傳統內存管理方法中的retain。www.aiwalls.com
weak :弱引用。若變量聲明瞭這個關鍵字,當對象的變量指針被釋放時,將會設為nil。舉例說明,假如你有兩個字符串屬性,分別設為strong引用,和weak引用,當strong屬性被釋放時,weak屬性將會被設為nil。
unsafe, unretained 這屬性表示隻做簡單的變量賦值,意思是在變量賦值時,將不會做retain保留對象。