objective-c - BOOL 的@property setter

标签 objective-c properties boolean

我在使用 @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/

相关文章:

ios - 如何将 TableView Controller 中除选项卡栏之外的所有 View 向下移动?

ios - 在 iPhone 中使用 Skydrive API 的注销问题

iphone - 在 Cocoa 中是否有更简洁的方法来连接这些字符串?

ios - CollectionView 委托(delegate)在 URL 连接完成之前调用

spring - 无需重新启动服务器即可更改属性

java - 如何使用方法(Java)返回的 boolean 值?

java - HashMap ,无序键

C# - 如何确定属性是否已更改

php - JSON 响应中的 boolean 值在生产服务器上转换为字符串

c# - 如何在 bool 方法上解析 "not all code paths return a value"?