沒有名稱的類目 (category) 就只是類別 (class) 的延伸擴充規格,可新增方法 (method) 與屬性 (property) ,但方法的實作需要放在原本類別的 @implementation 中。
程式語言 C, C++, C#, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, Swift
與網頁標記語言 HTML, CSS 的教學部落格
Objective-C 快速導覽 - 協定
協定 (protocol) 是一種共通的程式規格,使用 @protocol 指令,這用來宣告方法 (method) 不需實作,採用協定的類別 (class) 須實作非 @optional 的方法, @optional 的方法則可以選擇是否要實作。
Objective-C 快速導覽 - 例外處理
例外處理 (exception handling) 為控制程式發生錯誤後的機制, Objective-C 使用 @try 、 @catch 與 @finally 三個指令進行例外處理。
Objective-C 快速導覽 - 多型與 id
多型 (polymorphism) 的意義在於讓某種型態成為變數 (variable) 的通用型態, Objective-C 利用動態型別 (dynamic typing) 與動態聯繫 (dynamic binding) 達成多型的目的。
Objective-C 快速導覽 - @class
介面 (interface) 中若需要用到其他類別 (class) 名稱,除了可先用 #import 直接引入標頭檔外,亦可用 @class 指令宣告可用的類別名稱。
Objective-C 快速導覽 - 物件屬性
當屬性 (property) 是物件 (object) 的時候,屬性就得設定為指標 (pointer) ,同時需要宣告為 assign 、 retain 、 copy ,以便進行記憶體管理。
Objective-C 快速導覽 - 建構方法
自訂類別 (class) 都須繼承 NSObject , NSObject 的 alloc 用來分配記憶體空間, init 用來初始化物件 (object) ,後者 init 就是個建構方法 (constructor) ,俗稱建構子。
Objective-C 快速導覽 - 存取修飾指令
屬性 (property) 或方法 (method) 可用存取修飾指令設定權限,共有四種,比較常用的包括 @private 、 @protected 與 @public , @private 只能由類別 (class) 中定義的方法存取, @protected 除了類別中定義的方法存取外,亦可被子類別 (subclass) 存取, @public 則可被所有類別或模組存取。
Objective-C 快速導覽 - 改寫方法
子類別 (subclass) 可依需求改寫 (override) 父類別 (superclass) 的方法 (method) ,這是說當子類別定義與父類別相同名稱方法的話,子類別定義的方法會覆蓋過父類別的方法,因此父類別的方法不會被繼承。
Objective-C 快速導覽 - 繼承
繼承 (inheritance) 使子類別 (subclass) 得到父類別 (superclass) 的屬性 (property) 及方法 (method) 等特性,可以加入新的屬性或方法,也可改寫父類別的方法。
Objective-C 快速導覽 - self 關鍵字
self 關鍵字 (keyword) 用在類別 (class) 中表示類別本身,例如在方法 (method) 中需要呼叫其他方法時,便可使用 self 關鍵字。
Objective-C 快速導覽 - extern 變數
extern 用來宣告外部變數 (variable) ,像是全域變數 (global variable) 對類別 (class) 或函數 (function) 而言都是外部變數,至於 extern 的應用大部分會是宣告其他檔案定義的變數。
Objective-C 快速導覽 - static 變數
類別 (class) 中方法 (method) 所定義的變數 (variable) 都是區域變數 (local variable) ,這是說離開方法後變數便不能保存其值,若是使用 static 宣告, static 變數能持續保存其值,直到程式結束為止。
Objective-C 快速導覽 - 全域變數
若在類別 (class) 、函數 (function) 外定義變數 (variable) ,這會是個全域變數 (global variable) ,也就是說所有的類別、函數都可使用全域變數。
Objective-C 快速導覽 - 多個參數的方法
方法 (method) 識別字 (identifier) 後面一個冒號接一個參數 (parameter) ,需要有多個參數的時候就視情況增加冒號數,通常冒號前會增加其他識別字,例如
Objective-C 快速導覽 - @property 與 @synthesize
在介面 (interface) 區段可直接使用 @property 宣告屬性 (property) ,實作 (implementation) 區段則用 @synthesize ,這樣編譯器就會自動合成 getter 與 setter 方法 (method) 了。
訂閱:
文章 (Atom)