如何在NSValue中包装BOOL

时间:2011-08-04 18:37:13

标签: iphone objective-c

在NSValue中包装BOOL值时遇到问题。

我试过了:

[NSValue valueWithPointer:[NSNumber numberWithBool:YES]]

4 个答案:

答案 0 :(得分:30)

NSNumber是NSValue。 [NSNumber numberWithBool:YES]已经将它包装在NSValue中

答案 1 :(得分:1)

以下是Joshua Weinberg回答的一些示例代码。

➤将基本BOOL转换为伪布尔对象:

NSNumber* isWinning = [NSNumber numberWithBool:YES];

➤将伪布尔对象转换为基本BOOL:

BOOL winner = [isWinning boolValue];

请参阅NSNumber课程参考。

答案 2 :(得分:1)

实际上,NSNumber是NSValue的重量级后代。如果你真的想在这里使用NSValue,那你就是这样做的:

BOOL bool_value = YES;
[NSValue valueWithBytes:&bool_value objCType:@encode(BOOL)]

答案 3 :(得分:1)

使用Objective-C文字:

@(YES)