2012-04-23 2 views
2

еще один из них был в течение нескольких часов. У меня возникла серьезная проблема с тем, что мое приложение «увидело» мою Entity в моей базе данных ...Доступ к «объекту» из другого ViewController (основные данные)

Я создал код в своем приложении AppDelegate для настройки Core Data. Первое представление, которое я загружаю, может получить доступ к этим данным (чтение/запись) без проблем. Если я затем попытаюсь получить доступ к базе данных из другого viewController, как если бы он не существовал.

Я все правильно @ свойство настроит в моих ViewController файлов:

@property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController; 
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext; 

Я также получил каждый ViewController быть:

NSFetchedResultsControllerDelegate 
  • Я ввезенные соответствующий заголовок файлы в файлах .m, где я хочу получить доступ к объекту.

Это ошибка, я получаю:

'+entityForName: could not locate an NSManagedObjectModel for entity name MyEntityName' 

Запутанного Дела в том, что если я изменю начать мнени с AppDelegate это не имеет никаких проблем, видя лицо в зависимости от того, вида контроллера я выбираю. Похоже, что он «впрыскивает» его в первый, но потом это он.

Im guessing Мне нужно настроить/alloc init NSManagedObject и вернуть его обратно в свой Entity, но я понятия не имею, как это сделать.

Любые подсказки?

Благодаря

+0

Как вы, проходящей через managedObjectContext в viewControllers? Я вижу вашу собственность, но вы ее назначаете? –

+0

Привет, Пол ... Я не думаю, что я верну их на что-нибудь в данный момент. Как мне это сделать? –

+0

также ... это «правильный путь», чтобы передать managedObjectContext или я должен создавать новые для каждого viewController? –

ответ

1

Так что я думаю, что вам нужно сделать, это пройти managedObjectContext как этот

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender; 
{ 
    if ([[segue identifier] isEqualToString:@"theIdentifier"]) { 
     UINavigationController *navigationController = (id)[segue destinationViewController]; 

     MySecondViewController *topViewController = [navigationController topViewController]; 
     topViewController.managedObjectContext = self.managedObjectContext; 
    } 
} 
+0

ah Я не знал, что вы передали его через segue, как и другие данные ... кричит! –

+0

Это исправить? –

+0

nope :(его теперь говорят: UINavigationController setManagedObjectContext:]: нераспознанный селектор отправлен в экземпляр –