在Swift中,&符号
&
用于inout
参数。像这是什么NSErrorPointer类型?var value = 3
func inoutfunc(inout onlyPara: Int) {
onlyPara++
}
inoutfunc(&value) // value is now 4
这看起来并不像
onlyPara
是一个指针,不知是不是和使用功能的内部时,立即得到解除引用。 仅仅是一个指针?当我不需要
IntPointer
类型,为什么使用NSErrorPointer
型框架的方法呢?由于现有的Objective-C代码,它们不能更改方法?但为什么那么斯威夫特转换
&error
到NSErrorPointer
,是,autoboxed?var errorPtr: NSErrorPointer = &error
当我有一个
NSErrorPointer
。 我如何解除引用?var error: NSError = *errorPtr // won't work
也许有人可以赐教。只使用Swift很容易。我认为,问题是在迅速和Objective-C之间&
知识的一个块(如运营商的地址),我建议你阅读使用斯威夫特与可可和Objective-C引导指针部分
你读过[输入 - 输出参数(https://developer.apple.com /library/prerelease/mac/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html)从*斯威夫特编程语言*? – Kreiri
是在SWIFT只(有就不需要NSErrorPointer吧?)很容易,但是当使用'&'等 – Binarian
NSErrorPointer不说什么(例如3 :)为什么NSError自动成为NSErrorPointer, https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns:其用法在“错误报告”,在“使用雨燕与可可和Objective-C”书中描述。 HTML。 –