類與對象是不同的,類是對象的藍本,你創建出來的是對象,而它的結構由類預先定義。對象是一些操作(方法)和信息(屬性)的集合,並占據記憶體中的一塊存儲空間,你可以通過函數調用的方式讓它對它的屬性執行默寫操作。 摘自 [美】 Alasdair Allan <Learning iOS Programming> ...
類與對象是不同的,類是對象的藍本,你創建出來的是對象,而它的結構由類預先定義。對象是一些操作(方法)和信息(屬性)的集合,並占據記憶體中的一塊存儲空間,你可以通過函數調用的方式讓它對它的屬性執行默寫操作。
摘自 [美】 Alasdair Allan <Learning iOS Programming>
1. 類與對象
2. 子類 subclass。 一個類可以通過繼承的方式來獲得另一個類的功能。子類繼承了父類的方法後,就可以在子類的實例上調用父類的方法。你可以在子類里在增加一些新的方法和變數,用來擴展父類的功能。
3. 實例變數和類變數
多個實例有多個實例變數的拷貝,但是類變數只有一份拷貝,類似於C++中的靜態變數
4. 訪問器方法 setter/getter 在objective-C中,編譯器根據@property 自動添加訪問器方法
5.類方法。類似於C++中的static 方法
6.事件和消息
事件是用戶和UI空間交互過程中產生的消息。比如你用手指點擊了屏幕,就會在應用中產生一個UI事件,這個事件以一個消息的形式通過應用傳遞給用於處理這種類型的時間委托對象實例。
7.協議
一個協議聲明瞭一組方法,但是協議並不實現這些方法。一個類如果聲明自己遵守某個協議,那麼也就意味著這個類至少實現了協議中聲明的必須實現的方法,對於可選的方法,這個類可以實現也可以不實現。
8.委托類
委托類就是實現了某種協議的類,通常用來處理事件。。
9. 事件迴圈
10. 框架和庫
框架是一些功能高度相關的類,協議和函數的集合。
11. Objective-C對象模型
區別於C++/Java/C#, Objective-C 對象模型的基礎是對象實例之間通過發送消息來相互影響,而 C++/Java/C#是調用對象的方法。
另外一個區別是, Objective-C在記憶體管理方面採用引用計數的機制,而Java 採用的是垃圾回收。
在iOS5 引入了自動引用計數機制,即ARC (Automatic Reference Counting)。
12. Objective-C 的基本語法
【anObject someMethod】; //發送someMethod 消息給anObject對象
【anObject someMethod:anotherObject】;// 發送someMethod消息給anObject對象,並將anotherObject 作為參數傳遞給anObject對象.