gpt4 book ai didi

Swift:access.property 和 access.method()

转载 作者:行者123 更新时间:2023-11-30 10:19:02 24 4
gpt4 key购买 nike

标题的示例是访问属性和调用方法之间的唯一区别吗?

似乎属性是没有括号的东西,而方法调用总是有一个括号用于将参数传递给方法,即使没有要传递的参数。

这是主要差异吗?

来自 Objective-C,这似乎还不够不同。

最佳答案

括号是最明显的区别...至少就访问语法而言是这样。正如 MartinR 在评论中提到的那样,概念和实现方面存在更多差异。 (我鼓励您查看他链接的 that documentation 以了解属性(property)可以包含的所有内容。)

访问方面需要注意的一件事:属性语法包含 setter 和 getter“方法”,有时同时包含两者。所以,对于一个方法,如果你想检索、修改和设置一个值,你必须调用 getter,修改,然后调用 setter:

var bar: Int = foo.getBar()
bar += 1
foo.setBar(bar)

使用属性,您可以在一次操作中获取和设置:

foo.bar += 1

func increment(inout num: Int) { num++ }
increment(&foo.bar)

在幕后,这会调用 get 访问器,修改值,然后调用 set 访问器 - 并调用 willSet/didSet 观察者,无论您是处理存储属性还是计算属性。

关于Swift:access.property 和 access.method(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28328956/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com