Objective-C:消息语法与点语法;有什么区别?
如果我使用 @synthesize foo;
,以下内容有什么区别:
// message syntax
[myObj setFoo:5];
[myObj foo];
我
// dot syntax
myObj.foo = 5;
myObj.foo;
喜欢点语法的一致性,但我不知道它是否做了我应该关心的事情。
任何额外的信息都会有很大的帮助。
If I'm using @synthesize foo;
, what's the difference between the following:
// message syntax
[myObj setFoo:5];
[myObj foo];
and
// dot syntax
myObj.foo = 5;
myObj.foo;
I like the consistency of the dot syntax but I don't know if it's doing something I should be I concerned about.
Any additional information would be a great help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用点语法和使用消息语法之间没有功能差异。
我发现使用消息语法与整个语言更加一致,而点语法的实现只是为了方便那些从使用它的语言(我想到的是 Java)过来的程序员。
我只要求:无论你选择哪一种,都要坚持下去。 不要混合搭配单个属性设置器! (多参数设置器显然是豁免的)。
There is no functional difference between using dot syntax and using message syntax.
I find that using message syntax is more consistent with the language as a whole and that dot syntax was just implemented as a convenience to programmers who were coming over from languages that used it (Java comes to mind).
All I ask is: Whichever one you choose, be consistent with it. Do not mix and match single property setters! (Multiple-argument setters are obviously exempt).
他们是一样的。
点语法用于表示对
@property
的访问,您也可以通过以下方式访问:但本质上,调用是相同的。
They are the same.
The dot syntax is used to signify the access of
@property
's which you can also acces via:But in essence the calls are the same.