懒加载 字典转模型 自定义cell
1?懶加載:
1>??什么是懶加載?
懶加載又稱為延時加載,即在系統調用的時候加載,如果系統不調用則不會加載.所謂的懶加載其實就是重寫其?get?方法.
2>??特點:在使用懶加載的時候要先判斷該方法是否已經存在,如果不存在則再進行實例化.
3>??優點:
- ?不必將創建對象的方法都寫在?viewDidLoad?里面,代碼可讀性更強.
- ?每個控件的getter?方法分別負責各自的實例化處理,獨立性強,耦合性低.
4>??使用步驟:
- ?聲明一個屬性.該屬性可以是私有屬性也可以是在. h?文件中聲明的屬性.懶加載的對象是一個屬性.
- ?在.m?中的?viewDidLoad外面重寫懶加載,即重寫其?getter?方法
- ?先判斷?_對象?是否存在,如果不存在則,在?if?中實例化屬性對象,并設置對象的屬性,并添加其特有的方法
- ?返回?_對象
?
2?字典轉模型
1>???什么是字典轉模型?
字典數據/數組(可以是?plist?文件中的數據也可以是網絡后臺的數據等)轉化為模型對象/數組.
2>???注意
模型要提供可以傳入字典參數的構造方法.(一個對象方法一個類方法)
- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)xxxWithDict:(NSDictionary *)dict;
3>???提示:在模型中盡量的使用自讀屬性可以進一步降低代碼的耦合性
4>???優點:
- ?將字典中的數據封裝到一個模型類中,有?MVC?框架思想的優點,可以降低耦合性
- ?所有的字典轉模型可以寫在一處,便于管理,同時也可以降低代碼的出錯率
- ?字典轉模型后,直接把字典中的數據轉移到模型的屬性中,外界可以直接調用模型的屬性來獲取數據,從而可以提高代碼的編碼效率
- ?由于模型是一個單獨的類中進行的,外界不用關心類中的細節,只要使用就可以,更好的體現了面向對象的思想.
5>???使用步驟
- ?在模型的.h?文件中聲明所需要的所有屬性
- ?在模型的.h實例化兩個方法
- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)appInfoWithDict:(NSDictionary *)dict;
- ?在模型的.m?文件中,通過實現兩個方法獲取數據
- (instancetype)initWithDict:(NSDictionary *)dict{
?? self = [super init];
?????if?(self) {//給聲明的屬性賦值
???????? self.name = dict[@"name"];
???????? self.icon = dict[@"icon"];
???? }
?????return?self;
}
+ (instancetype)appInfoWithDict:(NSDictionary *)dict{
?????return?[[self alloc] initWithDict:dict];
}
- ?聲明要空控件的屬性,并懶加載中直接實例化賦值
- ?在?VC?的. m?文件中聲明一個目標控件的屬性
- ?懶加載控件,并在懶加載的判斷為空的時候,通過?bundle?à?path?à?通過?path?路徑把數據轉到模型(數組)中?à?創建一個臨時可變數組(用于盛放數據)?à?遍歷通過路徑獲取的數據?à?給臨時數組賦值?à?將臨時數組賦值給模型對象
3?自定義?cell
1>??什么是自定義?cell
自定義?cell?即?tableView,collectionView,scrollView中的?cell?使用的時候不能滿足我們使用?cell?的需求,需要自己定義一個?cell.
2>??優點:
- ?自定義?cell?是繼承自系統的?cell,?因此它具有系統?cell?的所有的屬性和方法
- ?自定義?cell?可以在自定義的類中擴展屬性和方法,供外界使用.
3>??使用方法
自定義?cell?的方法有三種
- ?純代碼
1?在自定義?cell?類的.h?文件中聲明要增加的屬性和方法
2?在自定義cell?類的.m?文件中實現增加的方法.
該類的構造方法?initWithStyle:--- reuseIdentify?方法
調用父類的構造方法
判斷?self是否存在
返回?self
3?在?VC?中的數據源方法中的第三個方法中將系統的?cell?換成自定義的?cell?的類即可擁有自定義?cell?擴展的屬性和方法.
先創建一個?static?的重用標示符,然后通過重用標示符去重用池中尋找,假如通過重用標示符找不到?cell?則通過自定義的?cell?創建?cell,?最后返回?cell.
- ?Xib
實現步驟:
1?創建一個類?繼承自?UITableViewCell/
UICollectionViewCell/UIScrollViewCell
2?創建一個和步驟一同名的?xib
3?將一個?cell拖到xib窗口中,并在屬性檢查器上
(1)修改Custom Class為?創建從類名
(2)設定其重用標識符(Identifier),該重用標示符要和?VC?中定義的重用標示符一樣.
????? 4?在?xib?中進行布局
5?將?xib?中的控件拖線到cell上
6?使用的時候,和純代碼使用類似,只是將創建?cell?的方法改用為?xib?的方法
- ?storyboard
該方法是最簡單的一種方法,但缺點也很多,在開發中基本上用不到,思路就是在storyboard的?cell?中直接操作.
?
轉載于:https://www.cnblogs.com/ansyxpf/p/5494240.html
總結
以上是生活随笔為你收集整理的懒加载 字典转模型 自定义cell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么在这里发帖子?
- 下一篇: 博客开通第一天,加油