https://developer.apple.com/documentation/swift/double?changes=latest_minor
在类定义的更新版本中,我找到了NSNumber的Double的初始化方法,其附近键入了未知关键字__shared
。什么意思?
答案 0 :(得分:4)
__shared
参数注释表示可以通过引用传递值类型参数。
对于值类型,这使我们能够在进行调用之前先删除一个副本,而将引用指向指向我们分配的内存的位置。 SIL将此约定称为in_guaranteed
(间接引用,保证使用寿命)。当前,这是我们在非变异函数中传递self的方式。
它是由Ownership Manifesto引入的。
以下是所有权注释之间的区别:
inout
:变异类似指针的值__shared
:不变的指针式值__owned
:一种写默认值的明确方法以下是宣言的摘要:Swift Ownership Manifesto TL;DR。