2012-05-10 73 views
0

我試圖將數據添加到核心數據實體的屬性中。將數據從NSMutableArray添加到NSManagedObjectContext

Contents of contentArray: (
036, 
038, 
040, 
041, 
043, 
044, 
044, 
043, 
042, 
041, 
041, 
042, 
042, 
042, 
042, 
041, 
041, 
042, 
043, 
044, 
045, 
046, 
047, 
048, 
050, 
053, 
054, 
056, 
059, 
060, 
057, 
055, 
053, 
051, 
048, 
046, 
043, 
035, 
034, 
033, 
032, 
031, 
032 
} 

上面給出的是可變數組的樣本內容。我想下面給出將其添加到一個 的NSManagedObjectContext變量:

for (int i =0;i<[contentArray count];i++){ 
      int a =[[contentArray objectAtIndex:i] intValue]; 
      NSLog(@"value:%d",a); 
      [newManagedObject setValue:[NSNumber numberWithInteger:a ] forKey:@"timeStamp"]; 
      // Save the context. 
      NSError *error = nil; 
      if (![context save:&error]) { 

      NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
      abort(); 
    } 
    } 

我只是操縱適用於iOS的默認核心數據應用,在那裏它增加了一個時間戳值表。單元格正在被寫入以前的值。我的實施有什麼問題嗎?如何添加數據而不是寫入內容數組的數據?任何幫助將不勝感激。謝謝

+0

爲哪個實體要添加從陣列的價值? –

回答

2

您必須在每次循環中創建一個新的託管對象(並將其添加到您的上下文中)。只要你總是使用同一個對象,你的數據就不會被覆蓋。

另一方面,你應該把保存代碼放在循環之外。

+0

您可以添加到數據庫中的數據數量是否有限制? – Siddharthan

+0

並感謝您的建議工作。 – Siddharthan

0

這是數據轉換成核心data..Check存儲了這一點,並改變它爲您的代碼基本方法...

NSManagedObjectContext *context = [self managedObjectContext]; 
countryObject=[NSEntityDescription 
          insertNewObjectForEntityForName:@"Country" 
          inManagedObjectContext:context]; 
countryObject.city = @"New york"; 
countryObject.people = [NSString stringWithFormat:@"%@",[yourArray objectAtIndex:i]]; 
NSError *error; 
if (![context save:&error]) { 
    NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]); 
} 
+0

你好R.A謝謝。我有疑問是否有可能從UIViewController這是第二個視圖控制器調用managedobjectcontext?如果你知道告訴我,我可以發佈另一個問題,你可以在那裏回答。非常感謝您的幫助 – Siddharthan

相關問題