2013-11-01 2 views
0

Я просто пытаюсь обернуть голову вокруг основных данных. Мне удалось загрузить некоторые данные в него i applicationDidFinishLaunching, но теперь я хочу сделать что-то более сложное. Когда я отсоединяюсь от контроллера просмотра B до viewController A, я хочу отправить имя recipeName из B обратно в A, а затем записать его в основные данные. Я получаю эту ошибку:Ошибка CoreData, как записать данные ядра назад

CoreData: error: Failed to call designated initializer on NSManagedObject class 'Recipe' 2013-11-01 19:10:07.886 RecipesWithCore[96409:70b] -[Recipe setRecipeName:]: unrecognized selector sent to instance 0x8c8cf40 2013-11-01 19:10:07.890 RecipesWithCore[96409:70b] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Recipe setRecipeName:]: unrecognized selector sent to instance 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"]; 

    } 
} 
+0

похоже, что ваше 'RecipeName' не является свойством вашего подкласса управляемого объекта ... –

ответ

0

Это кажется, что insertNewObject возвращает Recipe класса, а не NSManagedObject. Проверьте свой класс Recipe и убедитесь, что у вас есть правильные объявления на @interface, а также @dynamic recipeName в его @implementation. Также проверьте свою модель управляемых объектов и убедитесь, что имя атрибута действительно recipeName.

Смежные вопросы