我在使用 @property
和 @synthesize
设置 BOOL 时遇到问题。
我正在使用 @property BOOL isPaused;
我可以使用 [myObject isPaused];
获取它,但我无法设置它。我想使用 [myObject setPaused: NO];
。我也试过 @property (setter=setPaused) BOOL isPaused;
但如果我没记错的话,那么我需要自己编写那个 setter。
最佳答案
为什么不使用点符号?
myObject.isPaused = YES;
return myObject.isPaused;
如果你的属性被声明为@property BOOL isPaused
,那么setter总是被调用为
[myObject setIsPaused:YES];
要重命名 setter ,您必须提供完整的签名包括冒号:
@property(setter=setPaused:) BOOL isPaused;
...
[myObject setPaused:YES];
顺便说一句,命名约定是不在属性中包含动词。
@property(getter=isPaused) BOOL paused;
关于objective-c - BOOL 的@property setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2891122/