ios - sender.selected = ! sender.selected 在选定状态之间切换?

标签 ios objective-c ios6 toggle

我对 Objective-C 很陌生,如果这对你们中的许多人来说非常明显,我很抱歉,但我正在尝试弄清楚以下代码是如何实际工作的:

- (IBAction)chooseColour:(UIButton *)sender {
 sender.selected = !sender.isSelected;
}

现在它显然在发送 Action 的按钮的选中和未选中状态之间切换,但代码'sender.selected = !sender.isSelected'实际上是在说什么?它只是“将发送者选择的属性设置为与 setter/getter 相反(即!不是)”吗?因此,如果 getter 将当前选定的值“获取”为 true,那么它将选定的属性设置为 !true,即 false。或者这是我还不知道的一段便利代码?因为看起来 '!sender.isSelected' 只是意味着没有被选中,如
if (!sender.isSelected){
statement
}

即如果未选择发件人,则执行声明。毫无疑问,这很明显,只是我现在有点困惑。

谢谢!

最佳答案

您是完全正确的,它调用 getter 来获取值并使用值的 NOT ( ! ) 调用 setter。它不是 Objective-C,它是简单的 C 语法。

关于ios - sender.selected = ! sender.selected 在选定状态之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243921/

相关文章:

ios - 表格 View 快速滚动时,导航栏背景颜色将变为错误的颜色4

iphone - 在 Xcode 中以编程方式按下 UITabBar 按钮

objective-c - 存储和访问静态 NSArray

performance - iPhone 4 中 UIPageViewController 的性能下降

facebook - IOS 6 中的 SLRequest

objective-c - iPad在横向问题中发布

iphone - 我确定可变范围的问题

ios - iPhone与PC上的CSS输出不同

ios - 如何将按钮的状态保存到NSUserDefaults?

ios - 将来自特定人员的 Twitter 帖子集成到表格 View 上的 iOS 应用程序上