目前正在学习objetive-c。浏览了 lynda 网站上的各种书籍和一些教程,现在找到了我认为适合我学习风格的斯坦福课程。我一直在一遍又一遍地看前 3 节课,基本上一直在做,直到我 100% 地接受所教的内容并且我离我不远了。
我很难理解以下代码在做什么以及它如何导致我的按钮切换。
sender.selected = !sender.isSelected
我更喜欢使用:
if (sender.selected)
{
sender.selected = NO;
} else {
sender.selected = YES;
}
为什么?因为这对我来说很有意义,而且很明显,因为我过去在许多其他编程语言中使用过 if 语句。实际上,我可以毫无问题地完成第一个作业,并了解其中大部分内容发生了什么,但是当我删除我的代码并重新输入以练习这一部分时,我会绊倒我,我觉得我在欺骗自己前进没有真正了解发生了什么。
我做了一些谷歌搜索,发现了这篇文章:如何 sender.selected = !sender.selected 在选定状态之间切换?
当我读完的时候,感觉就像火花在我脑海里飞舞,但还不足以点燃“啊哈,我现在明白了”的火。
假设在我点击/单击我的按钮之前选择了该按钮,我理解它的状态将设置为未选择(= !sender.isSelected),但现在假设它没有被选中,我点击/单击我的按钮。它是如何设置为选中的?
我觉得有人可以用对我来说有意义的方式来解释它。我知道一旦它进入我的脑海,它就会永远留在那里。我已经在这里坐了几个小时试图想清楚。睡着了几次,并决定需要帮助。
提前致谢