在Swift中,&符号
&
用于inout
参数。例如:var value = 3
func inoutfunc(inout onlyPara: Int) {
onlyPara++
}
inoutfunc(&value) // value现在是4
看起来
onlyPara
并不像一个指针,也许它是一个指针,在函数内部使用时会立即被取消引用。onlyPara是一个指针吗?当我不需要
IntPointer
类型时,为什么框架方法使用NSErrorPointer
类型?因为由于现有的Objective-C代码,它们无法更改这些方法吗?但是为什么Swift将
&error
转换为NSErrorPointer
,它是自动装箱的吗?var errorPtr: NSErrorPointer = &error
当我有一个
NSErrorPointer
时,如何取消引用它?var error: NSError = *errorPtr // 不起作用
也许有人可以启发我。只使用Swift很容易。我认为这些问题是关于Swift和Objective-C之间&
运算符的知识点。