在Swift WWDC会话简介中,演示了只读属性描述:
class Vehicle { var numberOfWheels = 0 var description: String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description)
class Vehicle { var numberOfWheels = 0 func description() -> String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description())
在我看来,你选择只读计算属性的最明显的原因是:
>语义 – 在这个例子中,描述是类的属性,而不是它执行的动作是有意义的。
> Brevity / Clarity – 避免在获取值时需要使用空括号。
在我看来,它主要是一种风格问题:我强烈喜欢使用属性:属性;这意味着您可以获取和/或设置的简单值。我在实际工作时使用函数(或方法)。也许某些东西必须从磁盘或数据库计算或读取:在这种情况下,我使用一个函数,即使只返回一个简单的值。这样我可以很容易地看到呼叫是便宜(属性)还是可能昂贵(功能)。
当Apple发布一些Swift编码约定时,我们可能会更清楚。
原文地址:https://www.jb51.cc/swift/321383.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。