Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays 附加字典<;字符串,任意>;到类数组SWIFT 3_Arrays_Json_Swift_Alamofire - Fatal编程技术网

Arrays 附加字典<;字符串,任意>;到类数组SWIFT 3

Arrays 附加字典<;字符串,任意>;到类数组SWIFT 3,arrays,json,swift,alamofire,Arrays,Json,Swift,Alamofire,你能给我个建议吗。是否有任何方法将字典附加到声明为数组的类?与var cellData=[cellData[()基本上一样,我正在解析来自JSON的数据,我尝试在这个类中传递一个for-in循环,然后将该数据放入viewDidLoad()中的MainVC中以更新我的单元格。我将要学习Swift,所以我不确定我是否做得很好,以及如何解决这个问题 当我尝试追加时,错误显示“无法将类型为”Dictionary、String、Any>“的值转换为预期的参数类型“CellData” func downlo

你能给我个建议吗。是否有任何方法将字典附加到声明为数组的类?与var cellData=[cellData[()基本上一样,我正在解析来自JSON的数据,我尝试在这个类中传递一个for-in循环,然后将该数据放入viewDidLoad()中的MainVC中以更新我的单元格。我将要学习Swift,所以我不确定我是否做得很好,以及如何解决这个问题

当我尝试追加时,错误显示“无法将类型为”Dictionary、String、Any>“的值转换为预期的参数类型“CellData”

func downloadBlogDetails(completed: @escaping DownloadComplete) {

    Alamofire.request(CURRENT_URL).responseJSON { response in
        let result = response.result

        if let dict = result.value as? Dictionary<String, Any> {

            if let items = dict["items"] as? [Dictionary<String, Any>] {

                for obj in items {

                    if let title = items[0]["title"] as? String {
                       self._authorName = title
                        print(self._authorName)
                    }

                    if let published = items[0]["published"] as? String {
                        self._publishedDate = published
                        print(self._publishedDate)
                    }

                    if let author = items[0]["author"] as? Dictionary<String, Any> {
                        if let name = author["displayName"] as? String {
                            self._authorName = name
                            print(self._authorName)
                        }
                    }

                    // add element obj to class array
                    self.cellData.append(obj)
                }

            }
        }

        completed()
    }
}
func downloadBlogDetails(已完成:@escaping DownloadComplete){
请求(当前URL).responseJSON{response in
让result=response.result
如果让dict=result.value作为字典{
如果let items=dict[“items”]as?[字典]{
对于项目中的obj{
如果让title=items[0][“title”]作为字符串{
self.\u authorName=标题
打印(自我。\u作者姓名)
}
如果让已发布=项[0][“已发布”]作为?字符串{
self.\u publishedDate=已发布
打印(自发布日期)
}
如果让作者=项[0][“作者”]作为字典{
如果让name=author[“displayName”]作为字符串{
self.\u authorName=名称
打印(自我。\u作者姓名)
}
}
//将元素obj添加到类数组中
self.cellData.append(obj)
}
}
}
已完成()
}
}

我建议您使用“请将代码和错误消息复制并粘贴到问题中,而不是提供图像”。您可以选择代码并单击“代码>{}按钮”为问题自动设置格式。@Keiwan谢谢。刚刚完成了。您需要从字典中创建
CellData
对象(
obj
)。顺便说一句,循环中的
obj
items[x]
-@juckyfruit-SwiftyJSON不能解决问题problem@vadian不会,但是如果没有
as!