Objective-C:消息语法与点语法;有什么区别?

发布于 2024-10-04 05:05:50 字数 267 浏览 5 评论 0原文

如果我使用 @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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

べ映画 2024-10-11 05:05:50

使用点语法和使用消息语法之间没有功能差异。

我发现使用消息语法与整个语言更加一致,而点语法的实现只是为了方便那些从使用它的语言(我想到的是 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).

美煞众生 2024-10-11 05:05:50

他们是一样的。

点语法用于表示对 @property 的访问,您也可以通过以下方式访问:

[myObject setValue: [NSNumber numberWithIntValue:5] forKey:@"foo"];
[myObject valueForKey:@"foo"];

但本质上,调用是相同的。

They are the same.

The dot syntax is used to signify the access of @property's which you can also acces via:

[myObject setValue: [NSNumber numberWithIntValue:5] forKey:@"foo"];
[myObject valueForKey:@"foo"];

But in essence the calls are the same.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文