将我的项目更新为10.7 SDK并切换调试器后, 我收到了这条消息:
Property with 'iboutlet' attribute must be an object type (invalid 'BOOL' (aka 'signed char'))
在更新之前它完全正常工作。 有关如何修复的提示吗?
答案 0 :(得分:6)
你必须导入地图框架(MapKit / MapKit.h)
#import <MapKit/MapKit.h>
答案 1 :(得分:5)
如果您正在使用组件的自定义类(即从UI *继承子类),请记住您需要为您的类导入.h文件,以便您的属性指针不仅仅是编译器的(id)。
答案 2 :(得分:0)
尝试取消链接并再次链接IBOutlet,或尝试将boolValue
分配给包含该对象的变量。
据我所知,有了新的SDK,很多东西都会被弃用,而且事情也无法正常运行。这就是我讨厌使用beta的原因!
答案 3 :(得分:0)
IBOutlets总是对象,它们是在xibs / nib中引用的值,你不能用标量值真正做到这一点。如果你需要设置一个布尔值,那么你可以在对象的-awakeFromNib方法中调用一个setter,或者根据你正在做的事情来调用:kvo或委托可能是合适的。