【发布时间】:2015-03-27 12:40:54
【问题描述】:
我正在将 Swift 数据结构实现到 Objective-C 中,但在“返回”2 个值时遇到了麻烦。
我的 swift 实现最初使用一个元组来返回 resultData 和一个错误:
func getData(email: String) -> (SomeResultdata?, NSError?)
但是由于元组不是 Objective-C 中的一个特性,这个函数没有暴露给 Objective-C。 我现在实现了一个专门用于返回 SomeResultData 的方法,但也将 NSError 分配给传递的指针引用。 见下文:
@objc func getData(email: String, var withError err: UnsafeMutablePointer<NSError?>) -> SomeResultdata? {
let (credentials, error) = self.getData(email)
// This self.getData(email) is the Swift implementation (returns tuple)
err = &error
return credentials
}
我遇到的两个错误是
方法不能被标记为@objc,因为参数2的类型不能在Objective-C中表示
和
无法将表达式的类型“()”转换为类型“inout $T2”
【问题讨论】:
标签: ios objective-c swift pointers nserror