什么是NSConcreteValue以及如何提取其值?

时间:2011-01-06 14:29:17

标签: iphone cocoa-touch

我有一个库,我接收NSConcreteValue,我不知道如何处理它。我知道我应该得到的对象是一个布尔值,所以我如何解除真正的价值呢?

1 个答案:

答案 0 :(得分:12)

当你使用NSValue时,这是一个有时(或所有时间?)在幕后使用的私人课程。或者至少那是我的印象。我认为你应该能够投射到NSValue

// assuming value is of type “id”
NSAssert([value isKindOfClass:[NSValue class]],
    @"Sorry, I was wrong. Maybe try anyway?");
NSAssert(strcmp(@encode(BOOL), [value objCType]) == 0,
    @"The value does not seem to hold a BOOL.");
BOOL unwrappedValue;
[value getValue:&unwrappedValue];

...或类似的东西,我正在做这件事: - )