在objective-c中,我应该如何获得一个bool值,并将其赋值为true、false和nil?做这件事的objective-c方法是什么?很像C可以为空。
我希望能够使用nil值来表示未定义。

最佳答案

NSNumber实例可能会有帮助。例如:

NSNumber *yesNoOrNil;

yesNoOrNil = [NSNumber numberWithBool:YES]; // set to YES
yesNoOrNil = [NSNumber numberWithBool:NO];  // set to NO
yesNoOrNil = nil; // not set to YES or NO

为了确定其价值:
if (yesNoOrNil == nil)
{
    NSLog (@"Value is missing!");
}
else if ([yesNoOrNil boolValue] == YES)
{
    NSLog (@"Value is YES");
}
else if ([yesNoOrNil boolValue] == NO)
{
    NSLog (@"Value is NO");
}

在10.3之后的所有Mac OS X平台和所有iPhone OS平台上,-[NSNumber boolValue]方法都保证返回yes或no。

关于objective-c - 获得可空 boolean 值的Objective-C方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3456576/

10-10 13:42