2013-10-16 39 views
0

我在覈心數據中存在訪問問題,而在數據庫中插入數據時,我也使用了@ try,@ catch塊,但是我找不到相同的解決方案。我被困在最後3天,所以請幫我解決這個問題或給我任何建議。核心數據錯誤訪問insertNewObjectForEntityForName問題

- (BOOL) addSynchedContactsList:(int)aAppContactId :(NSString*)aDevContactId 
{ 
    NSManagedObjectContext *context = [[PFCoreDataController sharedCoreDataController] managedObjectContext]; 
    BOOL success = YES; 

    ContactsListSync *syncContact = (ContactsListSync *)[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:context]; 

    syncContact.appContactlistId = [NSNumber numberWithInt:aAppContactId]; 
    syncContact.devConatctlistId = aDevContactId; 

    return success; 
} 

在這一行,

ContactsListSync * syncContact =(ContactsListSync *)[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:上下文];

OR

ContactsListSync * syncContact =(ContactsListSync *)[[NSEntityDescription insertNewObjectForEntityForName:ENTITY_CONTACTSLISTSYNC inManagedObjectContext:上下文]保留];

所以請給我任何建議或任何想法。

在此先感謝您的幫助。

+0

您是否試過[this](http://stackoverflow.com/a/16750569/1603072)? – Bhavin

+0

@Vin謝謝,但我已經嘗試過。 –

+0

@NikunjJadav:你在使用一個託管對象上下文嗎? –

回答

1

在第一行放置一個斷點並逐步完成。 我將檢查以下內容:

  • 方面是一個有效的上下文(懸停或鍵入分配後PO上下文)
  • ENTITY_CONTACTSLISTSYNC解析爲有效的實體名稱
  • aAppContactId和aDevContactId是有效值

檢查ContactListSync實體是否提供了未提供的必填字段?

如果它在第三行失敗,似乎將是三件事情之一,上下文無效,另一個線程上下文,實體名稱不正確。異常中的錯誤消息中有哪些線索?

+0

非常感謝所有幫助所有字段都是可選的,上下文也是有效的值和有效的實體名稱,但我認爲從設備本地聯繫人的核心數據中插入聯繫人,我在後臺使用mainObjectContext –