重點理解:
結構只有實例變量。
類有下列成員:
實例變量是對內的,反映內部狀態,屬性是對外的。屬性表達的是實例狀態。
對于一個屬性,編譯器會自動生成三樣東西;
1.實例變量(屬性名字前面加下劃線) 2.get訪問器方法 ?3.set訪問器方法
類外不能訪問實例變量。訪問器方法可以自定義。
也可以給類型定義屬性,用全局靜態變量。模擬出來類型屬性。
理解使用屬性和實例變量的時機。
類外一律使用屬性。類的實例變量是私有的只能在類內訪問。訪問屬性推薦用self.(原因和內存管理有關)
值類型的(無屬性封裝)用實例變量訪問,能用屬性就用屬性。
以下要注意:
實例變量無內存管理的考慮。
循環引用會造成內存泄漏。弱引用(weak)ARC不做內存計數。弱引用的用處,阻止循環引用。
注意一般不存在類型屬性,但是可以使用靜態全局變量+類方法,模擬類屬性。比較不常用。