Swift编译器错误:类型';[AnyHashable:Any]?';没有下标成员
我目前正在Swift 4中制作一个电子商务应用程序,并将数据与Moltin链接。我这样做是为了学校,所以我是新手。我也在遵循Chris的教程,但那已经过时了,我的布局也有点不同。我跟踪了上面的所有内容,但我发现了以下错误: 类型“[AnyHashable:Any]”没有下标成员 我不明白为什么Swift编译器错误:类型';[AnyHashable:Any]?';没有下标成员,swift,xcode,moltin,Swift,Xcode,Moltin,我目前正在Swift 4中制作一个电子商务应用程序,并将数据与Moltin链接。我这样做是为了学校,所以我是新手。我也在遵循Chris的教程,但那已经过时了,我的布局也有点不同。我跟踪了上面的所有内容,但我发现了以下错误: 类型“[AnyHashable:Any]”没有下标成员 我不明白为什么 self.objects = responseDictionary["result"] as? [AnyObject] 我试着把as?改成as但它仍然不起作用 这是我的完整代码 import UIKit
self.objects = responseDictionary["result"] as? [AnyObject]
我试着把as?
改成as代码>但它仍然不起作用
这是我的完整代码
import UIKit
import Moltin
class TableViewController: UITableViewController {
var objects = [AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
Moltin.sharedInstance().setPublicID('***my store ID***')
Moltin.sharedInstance().product.listing(withParameters: nil, success: { (responseDictionary) in
self.objects = responseDictionary["result"] as? [AnyObject]
self.tableView.reloadData()
}) { (responseDictionary, error) in
print ("Something went wrong")
}
}
responseDictionary
似乎是一个可选项,需要检查是否存在:
Moltin.sharedInstance().product.listing(withParameters: nil, success: { (response) in
guard let responseDictionary = response as? [AnyHashable : Any] else {
print("Error: respnonse is empty")
return
}
self.objects = responseDictionary["result"] as? [AnyObject]
// ...
}
[AnyHashable:Any]?
akaOptional
没有下标成员,而另一方面,[AnyHashable:Any]
有下标成员。或者,如果您使用as?
并希望返回一个可选的值,那么您只需执行self.objects=response?[“result”]as?[任何对象]