的情況如下:核心數據與關係一對多 - 保存/載入
每個應用程序啓動時,它的下載量Beacon
S(對象)和Action
S(對象)的列表清單的時間。每個Beacon
都分配了零個或多個操作。目前(和簡單),每個信標分配了一個動作。
因此,我正在下載數據並解析JSON到2 NSMutableArray
s。 Beacon
對象有一些變量和變量ID。 Action
對象也有一些字符串變量和關係beacon
這是(外鍵)相同中的變量id
。
我開發了一個單例來保存和加載數據。此時我的代碼看起來像這樣:
+(void)saveBeacons:(NSMutableArray*)array andAction(NSMutableArray*)actionsArray andManagedObject:(NSManagedObjectContext*)managedObject{
NSDictionary *jsonDict3 = [[NSDictionary alloc] init];
NSManagedObjectContext *context = managedObject;
for (int i=0; i<[array count]; i++) {
jsonDict3 = (NSDictionary*)[array objectAtIndex:i];
NSManagedObject *newBeacon = [NSEntityDescription insertNewObjectForEntityForName:@"Beacon" inManagedObjectContext:context];
[newBeacon setValue:[[jsonDict3 objectForKey:@"uuid"] uppercaseString] forKey:@"uuid"];
[newBeacon setValue:[jsonDict3 objectForKey:@"minor"] forKey:@"minor"];
[newBeacon setValue:[jsonDict3 objectForKey:@"major"] forKey:@"major"];
}
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
注:array
包含Beacon
對象和actionArray
的Action
。
我知道我必須使用嵌套循環,但我應該如何爲每個動作添加與信標的關係?每次用戶下載新數據時,我也需要覆蓋數據。我是否應該停止使用Core Data?
PS。這就是我的核心數據設計的樣子: