2011-04-12 102 views
1

我想知道哪个是在IOS应用程序中传递NSManagedObjectContext的最佳方法。 我曾经添加NSManagedObjectContext属性与保留(不分配),并创建自定义的init方法...但我不知道这是一个最佳实践。这里有一个需要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; 
} 

这是一个好方法吗?那么保留上下文呢?将是一个更好的解决方案使用分配而不是保留上下文属性?

回答

1

我倾向于从传递的对象获取上下文。

NSManagedObjectContext *context = self.currentExercise.managedObjectContext; 

我想你一定要保留上下文。

编辑:

我会建议由Marcus Zarra或马库斯Zarra和斯科蒂的iDeveloperTV视频,题为“核心数据”的书。