0

VC1.m进程完成后包含以下代码。

if (self.iboard>0) {
             countIsNil = TRUE;
         } 

我想要另一个 VC,比如说VC2.m包含以下代码。

- (void)viewDidLoad
{
    if (countIsNil)
    {
        countIsNil = FALSE;
        count.text=@"1";
        return;

    }
    [super viewDidLoad];
}

我如何构建/管理它BOOL countIsNil以使其有效?我怀疑答案涉及使用静态变量,但我没有这样的例子。

4

2 回答 2

2

有两种解决方案:

  1. 您需要为此变量创建一个属性。
  2. 您可以使用 NSUserDefaults 类进行维护。

用 VC1 编写的示例NSUserDefaults

[[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"countIsNil"]
    [[NSUserDefaults standardUserDefaults] synchronize];

在VC2中编写:

- (void)viewDidLoad
{
    if ([NSUserDefaults standardUserDefaults] valueForKey:@"countIsNil"])
    {
        countIsNil = FALSE;
        count.text=@"1";
        return;
    }
    [super viewDidLoad];
}
于 2013-05-28T14:09:41.703 回答
-1

只需在全局范围内获取您的 BOOL 变量,我的意思是在 AppDelegate 文件中获取它,设置其属性并合成它,现在您可以从任何类传递此变量中的值并从任何地方检索它。这是示例:

 // AppDelegate.h
 @interface AppDelegate : UIResponder <UIApplicationDelegate>{

     BOOL countIsNil;
 }
 @property(readwrite)BOOL countIsNil;
 @end   

 // AppDelegate.m
 @implementation AppDelegate
 @synthesize countIsNil
于 2013-05-28T14:36:50.983 回答