gpt4 book ai didi

swift - 结果类型 'Element' 与预期类型不匹配

转载 作者:行者123 更新时间:2023-11-28 13:09:49 24 4
gpt4 key购买 nike

我正在使用 WatchKit。我一直在尝试构建一个基本的 Grocery List 应用程序。这是我坚持的代码块。

@IBAction func getItemNameAndAtToTable() {
presentTextInputControllerWithSuggestions(suggestions,
allowedInputMode: WKTextInputMode.Plain,
completion: { (results) -> Void in
print(results)
if results != nil && results!.count > 0 {
if let result = results[0] as? String {
self.groceries.append(result)
self.reloadTable()
}
}
})
}

if let result = results[0] as?字符串 { 是我得到 Result type 'Element' does not match expected type 的地方。我查看了教程和 Swift 文档,只是没有在此处看到错误。有谁知道或知道为什么会这样?

编辑:另外我正在使用 Xcode 7.0 beta 4 和 Watch Simulator 2.0

最佳答案

文档说明了 results 参数是什么:

results An array containing the input from the user, or nil if the user canceled the operation. When an array is provided, the value in the array is usually an NSString object representing the text input. The array can also contain an emoji image, packaged as an NSData object. You can use the data object to create a corresponding UIImage object.

如果仔细查看方法定义,您会注意到它将 results 定义为可选数组 [AnyObject]?。您似乎期待像 [AnyObject?] 这样的东西,我认为这是不可能的。

数组本身是可选的,但数组元素当然可以nil。因此你的类型转换

results[0] as? String 

其实没有什么意义。应该是

results.first as! String

如果您确定数组中没有表情符号数据。

关于swift - 结果类型 'Element' 与预期类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com