我应该在传递给另一个viewcontroller时复制一个对象

时间:2014-05-21 10:49:35

标签: ios objective-c memory-management

当我将对象变量发送到另一个控制器时,比如说从菜单控制器中的数组到详细视图控制器的Parse PFObject,我应该在传递之前复制该对象吗?如果我只是将它分配给发送者数组中的对象,或者ARC是否使其成为强引用,它是一个弱引用吗?

- (IBAction)nextScreenButtonTapped:(id)sender
{
    DestinationViewController *destinationController = [[DestinationViewController alloc] init];
    //should I copy the item before assigning?  What does ARC do here?
    destinationController.item = [self.items objectAtIndex:someIndex];
    [self.navigationController pushViewController:destinationController animated:YES];
}  

1 个答案:

答案 0 :(得分:1)

如果您不希望destinationController拥有原件,请复制该对象。例如,如果您想确保新控制器没有修改原件,则需要保证副本。

如果item属性声明为strong,则引用很强。