我知道,通过在Swift中最终生成属性和方法,我可以提高编译时间和应用程序的性能。最近我阅读苹果博客文章:https://developer.apple.com/swift/blog/?id=27,其中指出,使财产或方法(文件)私人(博客发布日期为2015年,当“私人”意味着“fileprivate”)使编译器推断属性或方法的“最终”在源文件中搜索任何覆盖。但是,“真正的”(Swift 3)私人?编译器不应该搜索任何地方的潜在覆盖,所以我的问题是:
这两个声明之间是否有任何性能和/或编译时间差异?Swift - private var/func vs private final var/func
private final var foo: Int
private var bar: Int
在第一个中,您无法更改曾经赋值的值,并且只能在该类中访问该值。第二个值可以更改值,并且只能在同一个类中访问。 –
对不起,我的问题可能还不够具体。我这两个声明做了什么(而且你的声明是不正确的:你可以给最终变量赋值 - 它不是Java)。我想知道他们之间是否有任何性能差异。 – MikChmie
不,没有性能问题。 –