Я следую руководству по основным данным здесь. У нас есть RootViewcontroller и addRecipeViewController.Как узнать, как managedObjectContext получает изменение в другом контроллере представления
Я перечислю некоторые классы и некоторые функции и экран для ниже потока, так что вы не заблудитесь
Recipe.h
#import <CoreData/CoreData.h>
@interface Recipes : NSManagedObject
{
}
@property (nonatomic, retain) NSString * recipeName;
@property (nonatomic, retain) NSString * cookingTime;
@end
addRecipeViewController.h
@class Recipes;
@interface AddRecipeViewController : UIViewController <UITextFieldDelegate> {
Recipes *recipes;
UITextField *textFieldOne;
UITextField *textFieldTwo;
}
addRecipeViewController.m
- (void)save {
1.recipes.recipeName = textFieldOne.text;
2.recipes.cookingTime = textFieldTwo.text;
3.NSError *error = nil;
4.if (![recipes.managedObjectContext save:&error]) {
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
[self dismissModalViewControllerAnimated:YES];
}
RootViewC ontroller.m
- (void)insertNewObject {
AddRecipeViewController *addRecipeView = [[AddRecipeViewController alloc] initWithNibName:@"AddRecipeViewController" bundle:[NSBundle mainBundle]];
Recipes *recipes = (Recipes *)[NSEntityDescription insertNewObjectForEntityForName:@"Recipes" inManagedObjectContext:self.managedObjectContext];
addRecipeView.recipes = recipes;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController: addRecipeView];
[self.navigationController presentModalViewController:navController animated:YES];
[addRecipeView release];
}
картина для потока:
Когда событие Save
из addRecipeViewController щелкают, это позволит сэкономить recipes
в managedObjectContext
. Рано или поздно, rootViewConroller будет извлекать данные из managedObjectContext
с помощью NSFetchedResultsController
ВОПРОС: Я не понимаю, как manageObjectContext
одинакова для всех контроллера представления, так что вы получите самый обновленный manageObjectContext
в rootViewController
после добавления или удаления Recipe
от manageObjectContext
от addRecipeViewController
Пожалуйста, помогите мне разобраться в этой проблеме.
Все комментарии приветствуются здесь.
моя проблема заключается в сохранении Рецепта, который managedObjectContext будет хранить этот объект и когда вы извлекаете данные (очевидно, данные являются объектом Рецепт), который используется для управляемого ObjectContext ... – tranvutuan
Это все тот же объект. В вашем приложении должен быть только один управляемый объект. Храните его в AppDelegate, например, и предоставьте метод, позволяющий получить его, где бы вы ни нуждались. – mprivat