[英]pass error parameter in swift
我正在使用第三方框架,其中包含一个类:
class DaService : NSObject {
init!(name username: String!, error: AutoreleasingUnsafeMutablePointer<NSString?>)
…
}
在我的快速代码中,我创建了DaService
的实例:
let service = DaService(name: “My Name”, &err)
编译器抱怨:
Use of unresolved identifier 'err'
为什么会出现这个错误? 如何快速传递错误参数?
我目前无法测试,但是应该
var err : NSString? = nil
let service = DaService(name: "My Name", &err)
可在与C API交互的“自动释放指针”部分中找到更多信息。
您在传递err之前还没有初始化它。 工作示例:
class DaService : NSObject {
init!(name username: String!, error: AutoreleasingUnsafeMutablePointer<NSString?>) {}
}
var err: NSString? = nil
let service = DaService(name: "My Name", error: &err)
当然,最好使用swift2的throws
和do/catch
进行错误处理。
@MartinR是正确的。 AutoreleasingUnsafeMutablePointer<NSString?>
意味着该函数打算为您提供NSString。 您必须给它一个变量,以便在其中放置字符串。
var errorString: NSString?
let service = DaService(name: "My Name", error: &errorString)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.