我应该如何获得一个bool值,我可以在Objective-C中指定true,false和nil? Objective-C的做法是什么?很像C#的Nullable。
我希望能够使用nil值来表示undefined。
答案 0 :(得分:30)
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。
答案 1 :(得分:1)
我认为你需要使用一些类,例如将bool换行到NSNumber
对象。