0

這是我用來將新對象插入到我的Raza實體中的代碼。沒什麼特別的。我已經在我的應用程序中隨處使用了這種委託方法和語法,但出於某種原因,我無法在此特定實體上執行此操作。CoreData問題:錯誤:(19)PRIMARY KEY必須是唯一的

-(void)guardarRaza:(NSString *)nombre guardar:(BOOL)guardar{ 

     if (guardar) { 
      Raza *raza = [NSEntityDescription insertNewObjectForEntityForName:@"Raza" 
                 inManagedObjectContext:self.managedObjectContext]; 
      raza.nombre = nombre;    
      NSError *error; 
      if (![self.managedObjectContext save:&error]) { 
       NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
       abort(); 
      } 
     } 
     [self dismissModalViewControllerAnimated:YES]; 
    } 

問題可能來自sqlite,因爲我們使用一個版本來預先填充啓動的版本。我遵循名爲「核心數據教程:如何預加載/導入現有數據」的raywenderlich方法。

它確實可以順利地與其他實體協同工作,但是當我插入並保存在特定的實體上時,它會與CoreData一起崩潰:錯誤:(19)PRIMARY KEY必須是唯一的。我已經簽出了sqlite,手動插入和刪除新行,它只是工作。

有沒有人有同樣的問題,或者說知道如何解決它。 在此先感謝

+0

看看這裏.. http://stackoverflow.com/questions/ 12479232/why-this-code-raising-the-coredata-error-19-primary-key-must-be-unique – TonyMkenu

+0

謝謝,但之前找到了答案。它沒有解決問題。我通過檢查我的sqlite數據庫並通過用正確的參數替換表Z_ENT來計算出來。 – sam80

回答

相關問題