0

コアデータに頭を悩ませようとしているだけです。applicationDidFinishLaunching でいくつかのデータをロードすることができましたが、もう少し複雑なことをしたいと思います。ビュー コントローラー B からビュー コントローラー A に戻るときに、レシピ名を B から A に送り返し、それをコア データに書き込みます。次のエラーが表示されます。

CoreData: エラー: NSManagedObject クラス 'Recipe' 2013-11-01 19:10:07.886 RecipesWithCore [96409:70b] -[Recipe setRecipeName:]: 認識されないセレクターがインスタンス 0x8c8cf40 に送信されました 2013-11-01 19 :10:07.890 RecipesWithCore[96409:70b] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[Recipe setRecipeName:]: 認識できないセレクターがインスタンス 0x8c8cf40 に送信されました'

これは私の unwindToRecipes です:

-(IBAction) unwindToRecipes:(UIStoryboardSegue *)segue{
    DBKAddRecipeViewController *source = [segue sourceViewController];

    NSString *rn = source.recipe.recipeName;
    if (recipe != nil){
        //Add the recipe to coredata

        NSManagedObjectContext *context = [self managedObjectContext];
        NSManagedObject *newRecipe = [NSEntityDescription
                                   insertNewObjectForEntityForName:@"Recipe"
                                   inManagedObjectContext:context];

        [newRecipe setValue:rn forKey:@"recipeName"];

    }
}
4

1 に答える 1

0

ではなくクラスをinsertNewObject返すようです。クラスをチェックして、@interface と @implementationに正しい宣言があることを確認してください。また、管理対象オブジェクト モデルを確認し、属性名が実際に であることを確認してください。RecipeNSManagedObjectRecipe@dynamic recipeNamerecipeName

于 2013-11-02T09:25:56.430 に答える