我在使用@property
和@synthesize
设置BOOL时遇到问题。
我正在使用@property BOOL isPaused;
我可以使用[myObject isPaused];
来获取它,但我无法设置它。我想使用[myObject setPaused: NO];
。我也尝试了@property (setter=setPaused) BOOL isPaused;
但是如果我没有误会,那么我需要自己写那个二传手。
答案 0 :(得分:6)
为什么不使用点符号?
myObject.isPaused = YES;
return myObject.isPaused;
如果您的属性声明为@property BOOL isPaused
,则设置器始终称为
[myObject setIsPaused:YES];
要重命名setter,您必须提供包含冒号的完整签名 :
@property(setter=setPaused:) BOOL isPaused;
...
[myObject setPaused:YES];
@property(getter=isPaused) BOOL paused;