我的.h文件中的@interface定义中有一个BOOL值.它在下面.它是否是一个指针也有同样的问题.
@interface myCustomViewController : UIViewController{ { //...more iboutlets defined above BOOL *myBoolVariableName; }
当我编译时,我得到"错误:属性'myBoolVariableName','retain'属性必须是对象类型",用于导入我的.h文件.
我在这里找到了一个关于整数/ nsnumber的页面:
http://discussions.apple.com/thread.jspa?threadID=1846927
所以,似乎我不能在@interface定义中使用BOOL值.我可以用什么呢?
我应该怎么做BOOL /布尔值?
我猜你以后在你的界面中有这样的东西:
@property (retain) BOOL *myBoolVariableName;
这意味着创建一个属性,其值是指向BOOL的指针,并使用retain语义.
您的问题是BOOL*是指向内存字节的指针,而不是指向对象的指针.保留只适用于对象.
以下是制作BOOL属性的方法.
@interface myCustomViewController : UIViewController{ BOOL myBoolVariableName; } @property myBoolVariableName; @end
重要的区别是变量声明为"BOOL",而不是"BOOL*",属性没有(保留).