-1
我可以寫在一行中最後三行代碼:替代語法FO分配JSON數據objectForKey類的屬性
NSArray* latestLoans = [self.JsonData objectForKey:@"loans"];
for (id object in latestLoans) {
NSDictionary* loan = object;
newModelClass.name = [loan objectForKey:@"name"];
newModelClass.sector = [loan objectForKey:@"sector"];
newModelClass.activity = [loan objectForKey:@"activity"];
我的完整代碼是在這裏,如果有任何其他的最佳實踐,請建議我。
-(void)CopyOnlineData:(NSDictionary*)OnlineData{
self.JsonData = OnlineData;
NSArray* latestLoans = [self.JsonData objectForKey:@"loans"];
for (id object in latestLoans) {
NewModelClass *newModelClass = [[NewModelClass alloc] init];
NSDictionary* loan = object;
newModelClass.name = [loan objectForKey:@"name"];
newModelClass.sector = [loan objectForKey:@"sector"];
newModelClass.activity = [loan objectForKey:@"activity"];
NSDictionary *loactionDictionary = loan[@"location"];
newModelClass.country = loactionDictionary[@"country_code"];
newModelClass.town = loactionDictionary[@"town"];
NSDictionary *imageid = loan[@"image"];
newModelClass.ImageId = imageid[@"id"];
NSLog(@"name: %@ \n town: %@\n sector: %@\n country: %@\n activity: %@\n image id: %@", newModelClass.name,newModelClass.town,newModelClass.sector,newModelClass.country,newModelClass.activity,newModelClass.ImageId);
[self.tableData addObject:newModelClass];
}
[[self KivaTableView]reloadData];
}
謝謝
號爲什麼你想要?你的'Return'鍵是否打破? – trojanfoe
不是,但是你可以通過創建一個採用JSON字典的初始化程序來處理'loan'反序列化:'NewModelClass * newModelClass = [[NewModelCalss alloc] initWithJSONDict:object]; [self.tableData addObject:newModelClass];'這樣,如果其他地方有一個從字典中創建的'NewModelClass'對象,就準備好了。 – Larme
@Larme,謝謝 –