2014-11-06 52 views
0

我試圖使用謂詞NSFetchReultController提取記錄把那滿足謂詞的實體甚至一些具有空對象的父

NSNumber *project_id=[[_options objectForKey:@"project"] objectForKey:@"server_id"]; 

predicate=[NSPredicate predicateWithFormat:@"(owner.user_id = %@ OR Any jarSharedToUsers.user_id = %@) AND status = %@ AND parentProject.project_id = %@ ",user.user_id,user.user_id,[NSNumber numberWithInt:1],project_id]; 

錯誤:終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:「的keyPath parentProject .project_id未在實體中找到'

我認爲這是由於parentProject對於某些實體爲空。但是接下來我如何獲得滿足謂詞的實體

回答

0

如果嘗試訪問不存在的NSManagedObject的屬性,通常會引發此錯誤。你重新檢查了你的dataModel嗎?從項目到parentProject的關係是否設置正確? parentProject是否有一個名爲project_id的實體?

在更改DataModel後,您更新了NSManagedObject類嗎?

還有:在您更改dataModel之後,您是否完全從應用程序中清除應用程序(或者在使用該應用程序時重置模擬器)?對dataModel的更改僅適用於乾淨構建或者使用遷移模型。

+0

問題是,一些NSManagedObject有一個關係,有些不具備這種關係。 – 2014-11-06 12:22:33

相關問題