2009-12-21 45 views
1

我是一名初学者,正在撰写一本用于创建iPhone应用程序的书籍。iPhone Obj-C Properties

其中一个步骤是编写“UISwitch * whichSwitch = whichSwitch.isOn;”我只是好奇“isOn”从哪里来?

在文档:

on 
A Boolean value that determines the off/on state of the switch. 

@property(nonatomic, getter=isOn) BOOL on 

这是什么 “消气= ISON” 的一部分呢?我提出这个问题的最终原因是因为我想知道当我遇到类似的情况时,我应该做什么,针对不同的UI元素。

哦,是的,这就像属性创建一个“setSomething”增变器和“东西”访问器的东西?除了布尔值是“isOn”和“on”?

谢谢。

回答

6

属性基本上是稍后生成方法的简写(实际创建是通过执行文件中的@synthesize指令完成的)。 @property中的getter=isOn确实意味着getter方法的名称为isOn

默认情况下属性会创建一个吸气剂,与伊娃同名,前置器为set。更改getter名称(或其setter,使用setter=语法)是属性指令的全部内容。你应该只为布尔或类似的变量做这个 - 其他变量应该有一个与变量名称相同的getter。

+0

谢谢!完美的回答 – Devoted 2009-12-21 23:38:31

+0

对不起,我刚刚意识到,这可能是一个容易的问题,我可能只是抬起头来...它只是我是新的和文件仍然让我有点害怕 – Devoted 2009-12-21 23:39:20

+1

不要害怕docs - 它们不会伤害你:)如果你刚刚开始,Objective-C编程语言文档是非常有用的,特别是(对于这个问题)关于Declared Properties的部分:http://developer.apple.com /iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html – Tim 2009-12-21 23:45:59