gpt4 book ai didi

cocoa - 键值编码 : BOOL property evaluated as NSNumber of type "i", 而不是 "c"

转载 作者:行者123 更新时间:2023-12-03 17:59:07 25 4
gpt4 key购买 nike

当使用 NSObject valueForKey: 作为 BOOL 类型的属性时(其他人的示例代码 here ),返回的 NSNumber 不是 @encode(BOOL) = "c"——这是“我”。为什么?

最佳答案

BOOL 不是基本类型,它是 signed char 的 typedef。因此,在运行时无法判断属性是 bool 值还是整数值。因此我们可以确定 -valueForKey: 没有使用 +numberWithBool: 来包装该值。所以问题是,为什么不使用 +numberWithChar: ?可能是为了简单起见。如果所有有符号整数值 <= sizeof(int) 都使用 +numberWithInt: 包装,我不会感到惊讶。真正的问题是,为什么它很重要?如果您向生成的 NSNumber 对象询问 -boolValue,您将得到正确的响应。

关于cocoa - 键值编码 : BOOL property evaluated as NSNumber of type "i", 而不是 "c",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9200452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com