@property setter for BOOL

时间:2010-05-23 08:46:57

标签: objective-c properties boolean

我在使用@property@synthesize设置BOOL时遇到问题。 我正在使用@property BOOL isPaused;我可以使用[myObject isPaused];来获取它,但我无法设置它。我想使用[myObject setPaused: NO];。我也尝试了@property (setter=setPaused) BOOL isPaused;但是如果我没有误会,那么我需要自己写那个二传手。

1 个答案:

答案 0 :(得分:6)

为什么不使用点符号?

myObject.isPaused = YES;
return myObject.isPaused;

如果您的属性声明为@property BOOL isPaused,则设置器始终称为

[myObject setIsPaused:YES];

要重命名setter,您必须提供包含冒号的完整签名

@property(setter=setPaused:) BOOL isPaused;
...
[myObject setPaused:YES];

BTW,命名约定不包括属性中的动词。

@property(getter=isPaused) BOOL paused;