我为了测试而传递一个字符串变量(isLoggedIn)以及一个NSManagedObject(userObject)。但是,当我关闭VC并返回到root时,我没有在loginViewController中的变量中设置的新数据。
LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
loginVC.managedObjectContext = self.managedObjectContext;
loginVC.userObject = self.userObject;
loginVC.isLoggedIn = self.isLoggedIn;
[self presentModalViewController:loginVC animated:YES];
[loginVC release];
我后来用以下方式驳回了这个观点:
[self dismissModalViewControllerAnimated:YES];
更新
按照某人的建议使用代表结束。我使用以下帖子作为指导:
答案 0 :(得分:1)
我最后使用代表作为上面建议的人。我使用以下帖子作为指导:
答案 1 :(得分:0)
我可能没有正确地关注你,所以这可能是无关紧要的。
我猜你的意思是:
alloc
/ init
LoginViewController
self.userObject
self.isLoggedIn
和LoginViewController
中
醇>
如果您对对象本身进行操作或重新分配指针
,则可能会或可能不会发生e.g。
如果您在self.userObject.name = @"Test";
内拨打LoginViewController
,则更改将反映在实例化LoginViewController
和LoginViewController
的类中,因为ivars指向内存中的同一对象而你正在操纵这个物体。
或强>
如果你调用self.userObject = theResultOfSomeNewFetch;
,那么更改将不会反映出来,因为你现在在LoginViewController
中有一个指针指向与调用{的类中的指针不同的userObject
{1}}
希望我没有完全丢失情节,这是你的意思。