gpt4 book ai didi

ios - 是否需要使用无用的 object.self.self.. 或 Class.self.self.. ?

转载 作者:行者123 更新时间:2023-12-03 11:16:06 27 4
gpt4 key购买 nike

让我们写一个简单的类在我的脑海中解释:

class SomeClass {
var happyToUsed = 10
}
并创建一个对象
let someObject = SomeClass()
并将其属性用于案例 1:
someObject.happyToUsed  // prints 10
对于情况 2:
someObject.self.happyToUsed // prints 10
和案例 3
someObject.self.self.self.self.happyToUsed  // prints 10 compiler is still ok, even if self count 1k
我知道案例 1 和案例 2 是相同的(直接指向同一个对象)。即使我使用了 SomeClass.self 而不是对象案例也会以同样的方式运作。到目前为止,我曾在一个项目中使用过案例 3。
我的问题是有任何我应该更喜欢的示例案例 3 或对内存管理的负面影响吗?

最佳答案

这是一个 Postfix Self Expression根据 swift 引用:

A postfix self expression consists of an expression or the name of a type, immediately followed by .self

The first form evaluates to the value of the expression. For example, x.self evaluates to x.


你可以写的事实 .self无限期只是这个定义的一个副作用。自 x.self本身就是一个表达式,你可以加上 .self也对它。你可以永远这样做。
但这并不意味着你应该这样做。
它们做同样的事情:
let x                         =                          10
let x = 10
希望你会同意第二个读得更好。同样, .self一般是多余的。根据 this discussion ,好像是 .self实际上只是Objective-C的遗产。 IMO 它还使诸如身份 key 路径( \.self )之类的语法“更有意义”。

关于ios - 是否需要使用无用的 object.self.self.. 或 Class.self.self.. ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65369113/

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