Если я передам NSManagedObject в UIViewController, NSManagedObject станет нулевым.Единственный способ обойти это - использовать запрос выборки в каждом контроллере представления, в который я хочу передать управляемый объект (их несколько), но это кажется чрезвычайно неуклюжим и подвержено ошибкам.
СпособЯ передаю управляемый объект просто для того, чтобы сказать:
viewController.subclassedManagedObject = self.subclassedManagedObject;
он действителен для себя, но в viewController он нулевой.Я не понимаю почему.Любое понимание будет высоко ценится!
Большое спасибо
Редактировать:
, чтобы добавить немного больше деталей и ясности: у меня есть сильное подклассовое свойство managedObject, называемое booking в viewController.
@property (nonatomic, strong) Booking *booking;
Это также viewController, где я установил UIManagedDocument и тому подобное.Это все отлично работает.Я хочу передать этот управляемый объект экземпляру TableViewController, который я делаю следующим образом:
Booking *booking = [NSEntityDescription insertNewObjectForEntityForName:@"Booking" inManagedObjectContext:self.managedObjectContext];
[self.bookingDatabase saveToURL:self.bookingDatabase.fileURL
forSaveOperation:UIDocumentSaveForOverwriting
completionHandler:^(BOOL success) {
if (!success)
{
NSLog(@"didn't work");
}}];
TableViewController *tableViewController = segue.destinationViewController;
tableViewController.managedObjectContext = self.managedObjectContext;
tableViewController.booking = self.booking;
tableViewController.bookingDatabase = self.bookingDatabase;
Бронирование свойств в TableViewController я пробовал быть слабым и сильным, и ни одна из них не работает.На данный момент это так:
@property (nonatomic, weak) Booking *booking;
Большое спасибо еще раз