У меня есть RootViewController так:Как пройти ManagedObjectContext Другим видом контроллеров в специальном Case
Заголовок:
@interface ParkingRootViewController : UIViewController {
UINavigationController *navigationController;
UIToolbar *toolbar;
UIBarButtonItem *lastUpdateLabel;
NSPersistentStoreCoordinator *persistentStoreCoordinator;
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
}
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet UIToolbar *toolbar;
@property (nonatomic, retain) IBOutlet UIBarButtonItem *lastUpdateLabel;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;
@property (nonatomic, readonly) NSString *applicationDocumentsDirectory;
-(IBAction)selectHome:(id)sender;
//-(void)loadOverlays;
-(void)testCoreData;
@end
Реализация:
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
//...
[self testCoreData];
//creating label in tool bar
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 150.0f, 20.0f)];
label.text = @"last updated...";
label.textColor = [UIColor colorWithWhite:1.0 alpha:1.0];
label.backgroundColor = [UIColor clearColor];
label.textAlignment = UITextAlignmentCenter;
//label.highlightedTextColor = [UIColor colorWithWhite:0.5 alpha:1.0];
//label.highlighted = YES;
label.font = [UIFont systemFontOfSize:13.0];
label.userInteractionEnabled = NO;
[lastUpdateLabel initWithCustomView:label];
[label release];
[self.view addSubview:self.navigationController.view];
[self.navigationController.view setFrame:self.view.frame];
}
Но мне нужно передать свой managedObjectModel к моему представлению таблицы, а затем к виду карты, чтобы представление карты могло делать запросы в зависимости от того, что пользователь хочет видеть. Я консультировался яблочный образец кода, который выглядит как (из рецептов):
- (void)applicationDidFinishLaunching:(UIApplication *)application {
recipeListController.managedObjectContext = self.managedObjectContext;
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
}
Я знаю, что есть в AppDelegate, но я полагаю, что я могу сделать то же самое, когда выбрана строка или другой вид помещаются стек, правильно? Проблема заключается в том, что я настроил большую часть моего зрения с кончика пера, который выглядит так:
В связи с этим, я не могу использовать ту же стратегию, что компания Apple нанимает передать managedObjectModel на альтернативный viewController (в данном случае PermitListViewController), потому что я не получаю доступ к PermitListViewController непосредственно при добавлении subview. Если у кого-то есть представление о том, как я хочу получить мой управляемый объектObjectModel для моего PermitListViewController. Поделись, пожалуйста! Заранее спасибо!
РЕДАКТИРОВАТЬ: Я думаю о размещении управляемого объекта управления в одноэлементном классе. Каковы мысли ваших ребят по этому поводу? Хорошая практика программирования? Что я должен знать? Благодарю.
Я успешно создал одноэлементный класс для managedObjectModel. Единственный реальный вопрос, который у меня есть, - это, если это считается хорошим стилем программирования. – Stunner