斯威夫特3之前,我對於結果創建AWSTask代碼是這樣的:用於創建帶結果的AWSTask的Swift 3語法是什麼?
let results = ["resultOne", "resultTwo"]
let task = AWSTask(result: results)
但是用斯威夫特3,我在Xcode 8收到此錯誤信息:
不能轉換價值類型'[String]'到期望的參數類型'_?'
有沒有人遇到過這個?非常感謝!
斯威夫特3之前,我對於結果創建AWSTask代碼是這樣的:用於創建帶結果的AWSTask的Swift 3語法是什麼?
let results = ["resultOne", "resultTwo"]
let task = AWSTask(result: results)
但是用斯威夫特3,我在Xcode 8收到此錯誤信息:
不能轉換價值類型'[String]'到期望的參數類型'_?'
有沒有人遇到過這個?非常感謝!
只需添加as NSArray
這樣的:
let results = ["resultOne", "resultTwo"] as NSArray
let task = AWSTask(result: results)
由於results
必須確認到AnyObject
協議時確定AWSTask:
open class AWSTask<ResultType : AnyObject> : NSObject {...}
在SWIFT 2.2 ["resultOne", "resultTwo"]
是汽車brige是到NSArray
,
但在迅速3.0你必須brige [String]
到NSArray
手動。
這樣的解釋:
非常感謝!在閱讀你的答案之前,我注意到NSArray演員擺脫了錯誤,但你的答案告訴我爲什麼。 –
嘗試'讓結果:任何=([ 「resultOne」, 「resultTwo」])' –