组合多个NSMutableDictionary

时间:2016-02-10 04:09:20

标签: swift nsdictionary nsmutabledictionary

我有一个递归函数,它将以前的字典添加到新字典中,但使用 addEntriesFromDictionary 会给我错误

这是我的示例代码(已编辑)

    func fetchAllSWApiList(strUrl: String, strArrayCallback: NSMutableDictionary){
    let swApiHandler = SwApiHandler()
    let url = strUrl

    swApiHandler.requestSWPApi(url, completionHandler: {(response, error) in
        if let responseDictionary = response as? Dictionary<String, AnyObject> {
            print("Did Detect a dictionary")
            strArrayCallback.addEntriesFromDictionary(responseDictionary)
        }
        guard  let nextPage: String = response!["next"]! as? String else {
            print("End Of Page")
            print(strArrayCallback.description)
           return
        }

        print(nextPage)
        self.fetchAllSWApiList(nextPage, strArrayCallback: strArrayCallback)

    })

}

如果你的代码中有一个更好的解决方案,它会递归地从提取的数据中返回组合列表,效果会更好。

编辑:这是错误

  

NSDictionary不能隐式转换为&#39; [NSObject:AnyObject]&#39 ;;   你的意思是使用&#39;作为&#39;明确转换?

之后我的代码将成为我应该保留原样还是编辑NSpbject部分?

strArrayCallback.addEntriesFromDictionary(response! as [NSObject : AnyObject])

EDIT2: 如果您想知道JSON模型在这里是什么样的,那就是它的照片

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该通过执行以下操作将您的回复转换为您期望的词典类型:

if let responseDictionary = response as? Dictionary<String, AnyObject> {
    strArrayCallback.addEntriesFromDictionary(responseDictionary)
}