Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift编译器错误:类型';[AnyHashable:Any]?';没有下标成员_Swift_Xcode_Moltin - Fatal编程技术网

Swift编译器错误:类型';[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

我目前正在Swift 4中制作一个电子商务应用程序,并将数据与Moltin链接。我这样做是为了学校,所以我是新手。我也在遵循Chris的教程,但那已经过时了,我的布局也有点不同。我跟踪了上面的所有内容,但我发现了以下错误:

类型“[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")
    }
}

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]?
aka
Optional
没有下标成员,而另一方面,
[AnyHashable:Any]
有下标成员。或者,如果您使用
as?
并希望返回一个可选的值,那么您只需执行
self.objects=response?[“result”]as?[任何对象]