IOS學習(OC語言)知識點整理
一、OC基礎知識
1)#import 用於導入頭文件,預處理階段加載引用,只加載一次。
2)OC 依賴於Foundation框架下的頭文件Foundation.h,此文件必須引用加載。
3)相較於C語言的導入頭文件,頭文件需要加上條件編譯(#ifndef #define #endif):防止頭文件被多次包含
4)OC中關鍵字前面添加@符,字符串前面也需添加@符。
5)@autoreleasepool自動釋放池:應用程序執行的語境,好處:應用程序會自動對內存進行管理
6)NSLog是OC中的輸出函數,類似於C中printf,區別於printf,可以顯示進程信息和時間,會自動換行,輸出顯示格式為 NSLog(@“%@人民解放軍”,“中國”);
7).h 文件中interface聲明一個類,後面是類名(:NSOjbect 表示繼承父類NSObject)@end表示類聲明結束
8)interface 用於聲明類 默認是@protected (受保護的成員);@interface中只能寫方法的聲明(不能寫實現)
9).m文件內 @implementation中只能寫方法的實現(不能寫聲明)
10)類的訪問級別說明
1、@public 公有的成員,本類的成員方法,和其他的方法都可以訪問
2、@protected 保護型的成員,本類和本類的子類的方法可以訪問
3、@private 私有的成員,只能被本類的方法訪問
4、@package 處於同一個框架中可以訪問,介於private和public之間的
11)類的聲明命名遵循駝峰命名原則。
12)方法的聲明,默認的是public方法;聲明格式:+/- (返回類型) 方法名:參數
1、-(減號)聲明的方法為實例方法,只能通過實例調用,可直接操作成員變量。
2、+(加號)聲明的方法為類方法,只能用類名調用,不可直接操作成員變量。
3、實例方法可以和類方法同名。
13)類的實例化的兩種方法
1、使用 alloc、init方法 例如: Person *p=[[Person alloc]init]; alloc表示為對象在堆中開辟一片內存空間;init 表示初始化類對象。
2、使用new關鍵字,例如:Person *p=[Person new]; 一般不建議使用此方法。
14)set和get方法的使用
1、set方法用於給某個成員變量賦值,一般以set開頭,接著變量名,帶一個參數,參數類型與成員變量類型相同,沒有返回值。
2、get方法用於獲取某個成員變量的值,是實例方法,一般與成員變量名相同,(可以不加get在方法前面),沒有參數,有返回類型,返回類型與成員變量的類型相同。
15) 帶多個參數的方法的使用;+/-(返回類型)標識符:(參數類型)參數名 標簽名:(參數類型)參數 名…;第一個參數以後的參數建議添加標簽名,可增強代碼的可讀性;
不添加即為匿名標簽。例如:-(void)setName:(NSString *)name andAge:(int)age ;
16)實例方法與類方法的區別
1、實例方法之間可以使用self互相調用,類方法不可以。
2、實例方法可以操作成員變量,類方法不可以。
3、類方法調用直接用類名,不需要另外構建實例。
17)self 表示當前對象/類(self在實例方法中指當前對象,在類方法中指當前類);可以訪問當前對象的成員變量.