在 Swift 中,符号
&
用于inout
参数。喜欢var value = 3
func inoutfunc(inout onlyPara: Int) {
onlyPara++
}
inoutfunc(&value) // value is now 4
onlyPara
看起来不像是一个指针,也许是,并且在函数内部使用它时会立即取消引用。 onlyPara是指针吗?当我不需要
IntPointer
类型时,为什么框架方法使用NSErrorPointer
类型?因为它们可以'因为现有的 Objective-C 代码而更改方法?但是 为什么 Swift 将
&error
转换为NSErrorPointer
,这是自动装箱了吗?var errorPtr: NSErrorPointer = &error
当我有一个
NSErrorPointer
时。 如何取消引用它?var error: NSError = *errorPtr // won't work
也许有人可以启发我。只使用 Swift 很容易。我认为这些问题是关于 swift 和 Objective-C 之间的 &
的一大块知识(作为运算符的地址)
最佳答案
4 的解决方案。我找到了如何取消引用它:
var error: NSError = errorPtr.memory!
关于pointers - 这个 NSErrorPointer 类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447572/