Object C學習筆記24-關鍵字總結


  學習Object C也有段時間了,學習的過程中涉及到了很多Object C中的關鍵字,本文總結一下所涉及到的關鍵字以及基本語法。

  1.  #import

    #import <> 從system目錄中查找頭文件,不會檢查當前目錄。

    #import "" 首先在當前目錄中查找,如果未找到,則在Xcode設置的預處理程序搜索路徑中查找文件。

    #import 指令可以防止頭文件被重復包含

  2. typedef

    用於給一個類型定義新名稱 或 簡化較為復雜的類型聲明,可以參考文章<Object C 學習筆記--typedef用法>

  3. #define

    用於宏定義預處理,可以參考文章<Object C學習筆記22-#define 用法>

  4. 定義類

    *.h 用於定義類的頭文件

    @interface 類 : 父類

    @end

    *.m Object C中的類文件

    @implementation 類

    @end

  5. 類方法定義

    -(返回值類型) 函數名: (類型) value 參數名: (類型) value …. 

    -(int) speak:(int) a andName:(NSString*) address;

    必須使用累的實例來調用

  6.全局方法定義

    +(返回值類型) 函數名: (類型) value 參數名: (類型) value ….

    +(int) speak:(int) a andName:(NSString*) address;

    直接使用類調用,不需要實例,相當於靜態方法,和類方法不同之處在於 "+" 和 "-" 的區別

   7. super

    用於子類調用父類方法,在重載的時候用的比較多

   8.@selector 

    獲取方法的編號,相當於獲取函數指針,SEL sel1=@selector(eat);

   9. @class

    @class 來告訴編譯器這是一個類,編譯器只需要通過指針來引用它即可,並不需要知道關於這個類的更多信息,可以用來減少編譯。

  10.@protocol 

    用於定義一個協議,相當於.NET中的接口interface

  11.@property

    用於定義類屬性,比如@property (nonatomic,retain) NSString *name; 相當於實現get和set方法,寫在類的*.h文件中

  12.@synthesize

    用於實現在頭文件中描述實現的類屬性,一般和@property同時使用; 例如:@synthesize name; 這個寫在類的*.m文件中

  13. id

    id是保存“指向對象的指針”的類型。聲明為id的變量,可以保存指向任何Objective-C對象的一個指針

  14. retain

    通知編譯器向分配給此屬性的對象發送一個保留消息,這將確保屬性底層的實例變量在使用過程中不會從內存中消失。釋放舊對象,將就對象的值賦予新對象,在增加新對象的索引計數1 (在@property中使用)

  15. nonatomic

    不給set方法加鎖,在多線程訪問的時候會出現並發問題 (在@property中使用)

  16. assign

    簡單的賦值,不更改索引的計數(在@property中使用)

  17. copy

    建立一個索引計數為1的對象,然后釋放舊對象(在@property中使用)

  18.readonly

    將只生成get方法而不生成set方法(在@property中使用)

  19.readwrite

    默認屬性,將生成不帶額外參數的get和set方法(在@property中使用)

  20.atomic

    相當於set方法加鎖,當多線程訪問的時候,只有當一個線程訪問結束之后另外一個線程才能執行(在@property中使用)

   

        

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM