Если ваш проект большой и нуждается в доступе к контексту управляемого объекта извне AppDelegate,
Я бы просто переместил объявление свойства managedObjectContext
в файл заголовка, как в:
@interface myAppDelegate : NSObject <UIApplicationDelegate> {
NSManagedObjectModel *managedObjectModel;
NSManagedObjectContext *managedObjectContext;
NSPersistentStoreCoordinator *persistentStoreCoordinator;
}
@property (retain,nonatomic) NSManagedObjectContext*managedObjectContext;
@end
Тогда другие части приложения могут просто использовать appDelegate.managedObjectContext
.
Однако нет никаких причин выставлять managedObjectModel
или persistentStoreCoordinator
вне делегата приложения.
Кстати, у меня есть несколько комментариев о вашем использовании Objective-C:
Не используйте get
перед геттером. Для свойства с именем foo
получатель должен быть
-(Foo*)foo;
и сеттер должен быть
-(void)setFoo:(Foo*)_foo;
По соглашению get...
используется, когда указатель подается в качестве аргумента метода, как в -[NSString getCharacters:range:]
(см. Apple doc ).
Следуйте пословице, когда в Риме, делайте, как делают римляне.