【问题标题】:Use 1 variable throughout the entire app and where do i initialize it?在整个应用程序中使用 1 个变量,我在哪里初始化它?
【发布时间】:2011-09-08 03:17:10
【问题描述】:

我有一个应用程序,第一页上有一个按钮,用户可以设置第二页上的图像。 要切换页面,我使用的代码是:

- (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 方法中使用购物车(而不是购物车 2)。我怎样才能做到这一点?因为如果我尝试只用购物车切换购物车 2 并且我删除了该行: MyCartViewController * cart2 = [[MyCartViewController alloc]init];

当我尝试切换页面时应用程序崩溃。如何对两种方法使用相同的变量?谢谢大家!

【问题讨论】:

    标签: iphone ios xcode uibutton instance-variables


    【解决方案1】:
    - (IBAction)myCart:(id)sender {
         MyCartViewController * cart2 = [[MyCartViewController alloc]init];
         cart2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
         [self presentModalViewController:cart2 animated:YES];
          [cart2 release];
    }
    

    cart2 是局部引用变量,不能在方法myCart 之外持续存在。而是将其声明为接口变量的一部分并在init 方法中对其进行初始化。不要忘记在你释放所有接口成员变量的最后释放它(在dealloc中)。

    【讨论】:

    • 好的。您如何建议我在 init 方法中初始化变量?我对编程很陌生。这仍然有效吗?因为当我删除方法中的第一行并尝试将其放入接口文件时,应用程序在尝试切换页面时崩溃。非常感谢您的帮助!
    • 你刚刚帮我找出了一个我已经有大约一周的错误,我只想说非常感谢!!!!!!!!!!!!! :D
    • 没问题。希望你明白你的错误:)
    • 我确实做到了!我完全只是学到了一些新东西。我现在意识到我必须在 init 方法中初始化 ivars 而不是在方法中才能在整个应用程序中使用它们!非常感谢!
    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多