#objective-c
#objective-c
Вопрос:
Мне интересно, какой лучший способ передать NSManagedObjectContext в приложении IOS. Раньше я добавлял свойство NSManagedObjectContext с сохранением (не присваивать) и создавал пользовательский метод инициализации… но я не уверен, что это лучшая практика. Вот пример класса, которому нужен NSManagedObjectContext.
@interface CatSelectVC : UIViewController {
NSArray *catList;
NSManagedObjectContext *context;
}
@property(nonatomic,retain) NSManagedObjectContext *context;
-(CatSelectVC*)initWithContext:(NSManagedObjectContext*) theContext;
и я реализую пользовательский init, просто присваивая theContext self.context.
синтезируется контекст…
-(CatSelectVC*)initWithContext:(NSManagedObjectContext*)theContext{
self = [super init];
if(self !=nil){
self.context = theContext;
}
return self;
}
Хороший ли это метод? как насчет сохранения контекста? было бы лучшим решением использовать assign вместо retain для свойства контекста?
Ответ №1:
Я обычно получаю контекст из переданного объекта.
NSManagedObjectContext *context = self.currentExercise.managedObjectContext;
Я думаю, вы определенно хотите сохранить контекст.
Редактировать:
Я бы посоветовал книгу Маркуса Зарры «Основные данные» или видео iDeveloperTV с Маркусом Заррой и Скотти.