我在應用程序中使用核心數據作爲本地存儲。我已經正確設置了它,併爲每個實體創建了NSManagedObject的子類。但是,當我嘗試向我的商店中插入值時,它只會插入我的JSON提要中的最後一個對象。僅存儲JSON訂閱源的最後一個對象的核心數據
res = [JSONHandler requestJSONResponse:jsonString];
shows = [res valueForKeyPath:@"Show.Name"];
NSUInteger showIndex = 0;
for(NSString *showName in shows){
showObject = [NSEntityDescription insertNewObjectForEntityForName:@"Show" inManagedObjectContext:managedObjectContext_];
showObject.name = showName;
showObject.iD = [[res valueForKeyPath:@"Show.Id"]objectAtIndex:showIndex];
showObject.desc = [[res valueForKeyPath:@"Show.Description"]objectAtIndex:showIndex];
showObject.activityType = [[res valueForKeyPath:@"Show.ActivityType"]objectAtIndex:showIndex];
showIndex++;
}
這隻存儲我的JSON提要中的最後一個對象。任何想法爲什麼?
編輯:
res = [JSONHandler requestJSONResponse:jsonString];
shows = [res valueForKeyPath:@"Show.Name"];
NSUInteger index = 0;
for(NSString *showName in shows){
show = [NSEntityDescription insertNewObjectForEntityForName:@"Show" inManagedObjectContext:managedObjectContext_];
[show setValue:showName forKey:@"name"];
[show setValue:[[res valueForKeyPath:@"Show.Id"]objectAtIndex:index] forKey:@"iD"];
[show setValue:[[res valueForKeyPath:@"Show.Description"]objectAtIndex:index] forKey:@"desc"];
[show setValue:[[res valueForKeyPath:@"Show.ActivityType"]objectAtIndex:index] forKey:@"activityType"];
index++;
}
It's基本上是一回事,isn't它:當我這樣做,它工作正常?但我想使用NSManagedObject的子類而不是像上面那樣做。因爲在上面的代碼片段中顯示的是NSManagedObject * show,而不是它應該顯示的內容:Show * show。
JSON的外觀如何? NSLog的結果是什麼(@「顯示:%@」,顯示);'? –
我100%確定JSON沒問題。 – Magnus
如果添加演員,該怎麼辦? 'showObject =(Show *)[NSEntityDescription insertNewObjectForEntityForName:@「Show」inManagedObjectContext:managedObjectContext _];' – chris