用于创建带结果的 AWSTask 的 Swift 3 语法是什么?
What is the Swift 3 syntax for creating an AWSTask with a result?
在 Swift 3 之前,我创建 AWSTask 的代码是这样的:
let results = ["resultOne", "resultTwo"]
let task = AWSTask(result: results)
但使用 Swift 3,我从 Xcode 8:
收到此错误消息
无法将“[String]”类型的值转换为预期的参数类型“_?”
还有其他人遇到过这个吗?非常感谢!
只需像这样添加 as NSArray
:
let results = ["resultOne", "resultTwo"] as NSArray
let task = AWSTask(result: results)
因为results
定义AWSTask时必须确认协议AnyObject
:
open class AWSTask<ResultType : AnyObject> : NSObject {...}
在swift 2.2中["resultOne", "resultTwo"]
自动桥接到NSArray
,
但在 swift 3.0 中,您必须手动将 [String]
桥接到 NSArray
。
这是解释:
在 Swift 3 之前,我创建 AWSTask 的代码是这样的:
let results = ["resultOne", "resultTwo"]
let task = AWSTask(result: results)
但使用 Swift 3,我从 Xcode 8:
收到此错误消息无法将“[String]”类型的值转换为预期的参数类型“_?”
还有其他人遇到过这个吗?非常感谢!
只需像这样添加 as NSArray
:
let results = ["resultOne", "resultTwo"] as NSArray
let task = AWSTask(result: results)
因为results
定义AWSTask时必须确认协议AnyObject
:
open class AWSTask<ResultType : AnyObject> : NSObject {...}
在swift 2.2中["resultOne", "resultTwo"]
自动桥接到NSArray
,
但在 swift 3.0 中,您必须手动将 [String]
桥接到 NSArray
。
这是解释: