如何在ViewDidLoad中设置一个布尔值,使其不一定是真的但不是默认为false?

时间:2012-12-12 23:31:36

标签: iphone objective-c ios

我正在制作一个iPhone应用程序,并希望使用'if'语句和布尔值来设置某些情况下的默认值,但不是其他情况......这可能吗?

如果不可能,是否有其他选择?

编辑: 在MainViewController.m中我有:

@interface MainViewController (){
    BOOL moveOver;
}
[...]
- (void)viewDidLoad
{
    [super viewDidLoad];
    _label.text = [NSString stringWithFormat:@"%i", computerSpeed];
    }
}
[...]
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller
{
    [self dismissViewControllerAnimated:YES completion:nil];
    moveOver = true;    
}

编辑:当ViewDidLoad仍然存在时重新定义的问题...我需要一个在ViewDidLoad运行时不会重新定义的语句(对不起来感到抱歉)

编辑:我觉得我觉得离工作更近了......

在ViewDidLoad中我有:

if (playToInt != 10  || computerMoveSpeed != 3) {   
    moveOver = TRUE;
}

连接到我创建的方法gameLoop。它有

if (moveOver == false) {
    computerMoveSpeed = 3;        
    playToInt = 10;    
}

我有两个UITextField并输入10和3 ...这不是设置为默认值吗?它似乎都将默认值设置为0,如何更改?

3 个答案:

答案 0 :(得分:2)

在构造函数中以这种或那种方式初始化它。

听起来你想要两个以上的状态,在这种情况下你可以使用枚举甚至整数0-1-2表示错误,不完全正确,而且是真的。

答案 1 :(得分:0)

考虑到之前的答案,您还可以创建一个enum来处理多个州。

答案 2 :(得分:0)

您可以将布尔值存储在NSNumber中,该值可以是nil,true或false(nil表示未初始化)。