我想知道在IOS应用程序中传递NSManagedObjectContext的最佳方法是哪种。 我曾经使用retain(not assign)添加NSManagedObjectContext属性并创建自定义init方法......但我不确定这是最佳做法。这是一个需要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 for context属性?
答案 0 :(得分:1)
我倾向于从传递的对象中获取Context。
NSManagedObjectContext *context = self.currentExercise.managedObjectContext;
我认为你肯定想要保留上下文。
编辑:
我会建议Marcus Zarra的书“Core Data”或Marcus Zarra和Scotty的iDeveloperTV视频。