Swift vs. + [NSValue valueWithNonretainedObject:]

时间:2014-06-27 14:10:57

标签: objective-c swift foundation nsvalue

在Objective-C中,我可能会使用+[NSValue valueWithNonretainedObject:]来保留对象的唯一ID,我不希望保留对象本身。似乎已经弃用了Swift。

如何在Swift中做到?

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:3)

这有效:

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

fooval.description // evaluates to "<5040d191 b87f0000>", address of `foo`