IOS學習筆記 (1) – iPhone手機開發技術文章 iPhone軟體開發教學課程

從今天開始我要分期把我的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保留對象。

 

發佈留言