模型、@property、xib

模型

  • 概念
    • 專門用來存放數據的對象
  • 特點
    • 一般直接繼承自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
    • 基本數據類型枚舉結構體等非OC對象類型
  • weak
    • OC對象類型(比如NSArray、NSDate、NSNumber、模型類)
  • strong
    • OC對象類型(比如NSArray、NSDate、NSNumber、模型類)
    • 一個對象只要有強指針引用着,就不會被銷燬
  • copy
    • 一般用在NSStringblock類型上

通過純代碼自定義控件

  • 繼承自系統自帶的控件,寫一個屬於自己的控件
  • 目的:封裝控件內部的細節,不讓外界關心
  • 步驟
    • 新建一個繼承UIView的類
    • initWithFrame:方法中添加子控件
    • layoutSubviews方法中設置子控件的frame
      • 一定要調用[super layoutSubviews];
    • 提供一個模型屬性,重寫模型屬性的set方法
      • 在set方法中取出模型屬性,給對應的子控件賦值

通過xib自定義控件

  • 新建一個繼承UIView的類
  • 新建一個xib文件(xib的文件名最好跟控件類名一樣)
    • 添加子控件、設置子控件屬性
    • 修改最外面那個控件的class爲控件類名
    • 將子控件進行連線
  • 提供模型屬性,重寫模型的set方法
    • 在set方法中給子控件設置數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章