我目前正在Swift 4中制作电子商务应用,并将数据与Moltin相关联。我这样做是为了学校,所以我对此很陌生。我也关注CodeWithChris的教程,但这已经过时了,我的布局有点不同。我跟踪了一切,但我收到了这个错误:
键入' [AnyHashable:Any]?'没有下标成员
我不明白为什么。
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")
}
}
答案 0 :(得分:1)
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]
// ...
}