我的 .h 文件中的 @interface 定义中有一个 BOOL 值。这是下面的。无论是指针还是非指针,都有同样的问题。
@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
{
//...more iboutlets defined above
BOOL *myBoolVariableName;
}
编译时,我在导入 .h 文件的行上收到“错误:带有“retain”属性的属性“myBoolVariableName”必须属于对象类型”。
我在这里找到了关于整数/ nsnumber 的页面:
http://discussions.apple.com/thread.jspa?threadID=1846927 http://discussions.apple.com/thread.jspa?threadID=1846927
所以,看来我不能在 @interface 定义中使用 BOOL 值。我可以用什么来代替?
对于 BOOL / 布尔值我应该做什么?
我猜稍后在你的界面中会有类似这样的内容:
@property (retain) BOOL *myBoolVariableName;
这意味着创建一个值为 BOOL 指针的属性,并使用保留语义。
您的问题是 BOOL * 是指向内存字节的指针,而不是指向对象的指针。而retain仅适用于对象。
以下是创建 BOOL 属性的方法。
@interface myCustomViewController : UIViewController <UIWebViewDelegate> {
BOOL myBoolVariableName;
}
@property myBoolVariableName;
@end
重要的区别是变量被声明为“BOOL”,而不是“BOOL *”,并且属性没有(保留)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)