【发布时间】:2012-06-24 09:08:50
【问题描述】:
将我的项目更新到 10.7 SDK 并切换调试器后, 我收到了这条消息:
Property with 'iboutlet' attribute must be an object type (invalid 'BOOL' (aka 'signed char'))
在更新之前它运行良好。 有关如何解决此问题的任何提示?
【问题讨论】:
标签: objective-c cocoa nib
将我的项目更新到 10.7 SDK 并切换调试器后, 我收到了这条消息:
Property with 'iboutlet' attribute must be an object type (invalid 'BOOL' (aka 'signed char'))
在更新之前它运行良好。 有关如何解决此问题的任何提示?
【问题讨论】:
标签: objective-c cocoa nib
你必须导入地图框架(MapKit/MapKit.h)
#import <MapKit/MapKit.h>
【讨论】:
如果您为组件使用自定义类(即从 UI* 子类化),请记住您需要为您的类导入 .h 文件,这样您的属性指针就不仅仅是编译器的 (id)。
【讨论】:
尝试取消链接并再次链接 IBOutlet,或尝试将 boolValue 分配给持有该对象的变量。
据我所知,使用新的 SDK,许多东西都已被弃用,并且无法正常工作。这就是为什么我讨厌使用测试版!
【讨论】:
IBOutlets 总是对象,它们是在 xibs/nibs 中引用的值,你不能用标量值真正做到这一点。如果您需要设置布尔值,那么您可以在对象的 -awakeFromNib 方法中调用 setter,或者根据您正在执行的操作:kvo 或委托可能是合适的。
【讨论】: