關於 writeToFile 讀寫文件:當字典中鍵值對以 Model(例如:studentModel)為值時發現 Dictionary 調用 writeToFile 方法無法生成 plist 文件,經過多次測試發現, 調用 writeToFile 方法時 Dictionary 中不能包含 model 對象,針對這一現象,對 model 數據進行處理轉化為 Dictionary ,就可以存儲為 plist 文件.當讀取 plist 文件時再將 Dictionary 轉化為 Model.
下面是以 studentModel 為例實現代碼:
studentModel 包含三個屬性:name,passWord,sex
1 @property (nonatomic , copy)NSString *name; 2 @property (nonatomic , copy)NSString *passWord; 3 @property (nonatomic , copy)NSString *sex;
為studentModel 添加以實例方法,完成將 Model 對象轉為 Dictionary
1 - (NSMutableDictionary *)changeModelToDic{ 2 NSMutableDictionary *dic = [[NSMutableDictionary alloc]init]; 3 [dic setObject:self.name forKey:@"name"]; 4 [dic setObject:self.passWord forKey:@"passWord"]; 5 [dic setObject:self.sex forKey:@"sex"]; 6 return dic; 7 }
為studentModel 添加類方法.完成將 Dictionary 轉化為 Model 對象
1 + (Student*)changDicToStudent:(NSMutableDictionary *)dic{ 2 Student *stu = [[Student alloc]init]; 3 stu.name = [dic objectForKey:@"name"]; 4 stu.passWord = [dic objectForKey:@"passWord"]; 5 stu.sex = [dic objectForKey:@"sex"]; 6 return stu; 7 }