2011-04-12 95 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視頻,題爲「核心數據」的書。