模型
- 概念
- 特點
- 一般直接繼承自NSObject
- 在.h文件中聲明一些用來存放數據的屬性
- 模型定義示例
@interface Shop : NSObject
/** 名字 */
@property (nonatomic, strong) NSString *name;
/** 圖標 */
@property (nonatomic, strong) NSString *icon;
@end
Shop *shop = [[Shop alloc] init]
shop.name = dict[@"name"]
shop.icon = dict[@"icon"]
註釋
多行註釋
/** */ 文檔註釋
@property的使用策略
- assign
- weak
- OC對象類型(比如NSArray、NSDate、NSNumber、模型類)
- strong
- OC對象類型(比如NSArray、NSDate、NSNumber、模型類)
- 一個對象只要有強指針引用着,就不會被銷燬
- copy
通過純代碼自定義控件
- 繼承自系統自帶的控件,寫一個屬於自己的控件
- 目的:封裝控件內部的細節,不讓外界關心
- 步驟
- 新建一個繼承
UIView
的類
- 在
initWithFrame:
方法中添加子控件
- 在
layoutSubviews
方法中設置子控件的frame
- 一定要調用
[super layoutSubviews]
;
- 提供一個模型屬性,重寫模型屬性的set方法
通過xib自定義控件
- 新建一個繼承
UIView
的類
- 新建一個xib文件(xib的文件名最好跟控件類名一樣)
- 添加子控件、設置子控件屬性
- 修改最外面那個控件的class爲控件類名
- 將子控件進行連線
- 提供模型屬性,重寫模型的set方法