我有一个应用程序,在第一页上是一个按钮,用户可以设置第二页上的图像。 要切换页面,我使用的代码是:
- (IBAction)myCart:(id)sender; {
MyCartViewController * cart2 = [[MyCartViewController alloc]init];
cart2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:cart2 animated:YES];
[cart2 release];
}
我还有另一种方法,允许用户按下按钮并设置图像。
- (IBAction)outlet1 {
cart.displayImage = YES;
}
cart是在.h文件中创建的ivar,因此我可以在整个文件中使用它。我的问题是我需要能够在myCart方法中使用cart(而不是cart2)。我怎样才能做到这一点?因为如果我尝试用推车切换cart2,我删除该行:
MyCartViewController * cart2 = [[MyCartViewController alloc]init];
当我尝试切换页面时,应用程序崩溃了。我怎样才能为这两种方法使用相同的变量?谢谢大家!
答案 0 :(得分:1)
- (IBAction)myCart:(id)sender {
MyCartViewController * cart2 = [[MyCartViewController alloc]init];
cart2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:cart2 animated:YES];
[cart2 release];
}
cart2
是本地引用变量,不能超出方法myCart
。而是将其声明为接口变量的一部分,并在init
方法中初始化它。不要忘记最后在释放所有接口成员变量的末尾发布它(在dealloc
中)。