如何通过对象传递NSManagedObjectContext

时间:2011-04-12 19:03:42

标签: objective-c

我想知道在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属性?

1 个答案:

答案 0 :(得分:1)

我倾向于从传递的对象中获取Context。

NSManagedObjectContext *context = self.currentExercise.managedObjectContext;

我认为你肯定想要保留上下文。

编辑:

我会建议Marcus Zarra的书“Core Data”或Marcus Zarra和Scotty的iDeveloperTV视频。