Objective c 斯威夫特vs.&x2B;[NSValue Value WithNonRetainedObject:]

Objective c 斯威夫特vs.&x2B;[NSValue Value WithNonRetainedObject:],objective-c,swift,foundation,nsvalue,Objective C,Swift,Foundation,Nsvalue,在Objective-C中,我可能会使用+[NSValue valueWithNonretainedObject:来保留对象的唯一ID,而我不希望保留对象本身。这似乎不适合斯威夫特 如何使用Swift?这项功能: let foo: NSString = "hello" let fooval: NSValue = NSValue(nonretainedObject: foo) fooval.description // evaluates to "<5040d191 b87f0000>

在Objective-C中,我可能会使用
+[NSValue valueWithNonretainedObject:
来保留对象的唯一ID,而我不希望保留对象本身。这似乎不适合斯威夫特

如何使用Swift?

这项功能:

let foo: NSString = "hello"
let fooval: NSValue = NSValue(nonretainedObject: foo)

fooval.description // evaluates to "<5040d191 b87f0000>", address of `foo`
让foo:NSString=“你好”
让fooval:NSValue=NSValue(非返回对象:foo)
fooval.description//计算结果为“”,地址为`foo`

它还在那里。它刚刚被调整为
NSValue
的初始值设定项之一:

let anObject = "Hello!"
let value = NSValue(nonretainedObject: anObject)

Doh。要想得快一点。