配方例如如何知道誰將取得所有權?
RecipeAddViewController *addController = [[RecipeAddViewController alloc]
initWithNibName:@"RecipeAddView" bundle:nil];
addController.delegate = self;
Recipe *newRecipe = [NSEntityDescription
insertNewObjectForEntityForName:@"Recipe"
inManagedObjectContext:self.managedObjectContext];
addController.recipe = newRecipe;
UINavigationController *navigationController = [[UINavigationController alloc]
initWithRootViewController:addController];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[addController release];
presentModalViewController和initWithRootViewController都保留自己的論點,並採取所有權。然後釋放兩個對象,證明有人獲得了所有權。所以一般來說,我怎麼知道結果中的哪個消息會取得所有權,以釋放相應的對象?
newRecipe未被釋放,因爲託管對象的生命週期與我的業務無關,該聲明是否正確?
UPD: 對不起#2的答案將是它是由addController保留那麼addController的的dealloc釋放。
尼斯提醒有關'新'。不知道是否有人使用它。 – 2010-07-06 11:36:22