dict[@"name"] = @"jack";
nsstring *name = dict[@"name"];
- 手敲字串key,key容易寫錯
- key如果寫錯了,編譯器不會有任何警告和報錯,造成資料的讀取或者設定錯誤.
shopdata.icon = @"danjianbao"
; nsstring *name = shopdata.name
;
字典轉模型
// 模型檔案xmgshop.h
@property (nonatomic, strong) nsstring *name;
@property (nonatomic, strong) nsstring *icon;
- xmgshop.name = dict[@"name"]
- 乙個xmgshop物件對應乙個dict
- 當取字典中的"單肩包"時,不再用dic[@"name"],而是用xmgshop.name
// 在控制器中進行模型轉換
// 獲得index位置對應的商品資料
nsdictionary *shop = self
.shops[index];
xmgshop *shopdata = [[xmgshop alloc]init];
shopdata.name = shop[@"name"];
shopdata.icon = shop[@"icon"];
解決辦法:
-模型可以提供乙個傳入引數的構造方法
- (instancetype)initwithdict
:(nsdictionary *)dict;
+ (instancetype)***withdict
:(nsdictionary *)dict;
/*類方法名稱以***開頭,***指去掉字首的類名
比如:[nsarray arry]
[nsstring string]
....
*/
#import
@inte***ce
wqshopdata : nsobject
/***/
@property (nonatomic, strong) nsstring * icon;
/**名字*/
@property (nonatomic, strong) nsstring * name;
- (instancetype)initwithdic:(nsdictionary *)dic;
+ (instancetype)shopwithdic:(nsdictionary *)dic;
@end
#import "wqshopdata.h"
@inte***ce
wqshopdata ()
@end
@implementation
wqshopdata
- (instancetype)initwithdic:(nsdictionary *)dic
return
self;
}// 便利構造器
+ (instancetype)shopwithdic:(nsdictionary *)dic
@end
// 控制器中使用
nsdictionary *shop = self
.shops[index];
xmgshop *shopdata = [[xmgshop shopwithdict:shop];
// 之後可以直接用shopdata.icon 和shopdata.name'
label.text = shopdata.name
// 懶載入**模型資料,
- (nsarray *)shopsdata
]; }
return _shopsdata;
}
概念資料模型 邏輯資料模型 物理資料模型
概念資料模型設計與邏輯資料模型設計 物理資料模型設計是資料庫及資料倉儲模型設計的三個主要步驟。在資料倉儲領域有乙個概念叫conceptual data model,中文一般翻譯為 概念資料模型 概念資料模型是終端使用者對資料儲存的看法,反映了終端使用者綜合性的資訊需求,它以資料類的方式描述企業級的資...
概念資料模型,邏輯資料模型,物理資料模型
在資料倉儲領域有乙個概念叫conceptual data model,中文一般翻譯為 概念資料模型 概念資料模型是終端使用者對資料儲存的看法,反映了終端使用者綜合性的資訊需求,它以資料類的方式描述企業級的資料需求,資料類代表了在業務環境中自然聚集成的幾個主要類別資料。概念資料模型的內容包括重要的實體...
資料模型 概念資料模型,邏輯資料模型,物理資料模型
資料模型所描述的內容包括三個部分 資料結構 資料操作 資料約束。1 資料結構 資料模型中的資料結構主要描述資料的型別 內容 性質以及資料間的聯絡等。資料結構是資料模型的基礎,資料操作和約束都建立在資料結構上。不同的資料結構具有不同的操作和約束。2 資料操作 資料模型中資料操作主要描述在相應的資料結構...