Dav*_*ave 0 properties objective-c readonly
我是Objective C的新手,但拥有丰富的C++经验.
我有一个名为bOn的成员变量,我已将其声明为readonly属性.然后我合成它.
但是,编译器不会让我读它,说"实例变量'bOn'被声明为受保护的".如果我没有合成,我会理解这个错误.
这是我的片段:
@interface Button : NSObject
{
. . .
BOOL bOn;
}
@property (nonatomic, readonly) BOOL bOn;
Run Code Online (Sandbox Code Playgroud)
我在哪里使用它:
-(void) updateForButtonLeft:(Button *)butLeft Right:(Button *)butRight
{
BOOL bLeft = butLeft->bOn;
. . .
Run Code Online (Sandbox Code Playgroud)
那我还有什么别忘了呢?
谢谢,
戴夫.
butLeft->bOn; 是直接实例变量访问,在所有但非常罕见的情况下,是一个非常糟糕的主意.
你在寻找的是:
BOOL bLeft = butLeft.b0n;
Run Code Online (Sandbox Code Playgroud)
要么
BOOL bLeft = [butLeft b0n];
Run Code Online (Sandbox Code Playgroud)