我创建了一个multidimensinal数组,假设持有不同的新闻部分,例如热门和最新新闻。因此,我创建了一个像这样的数组,其中新闻是我的班级。
var arrayNews = Array<Array<News>>()
在此之后我循环浏览我的第一个JSON文件
for (key: String, subJson: JSON) in jsonArray {
// Create an object and parse your JSON one by one to append it to your array
var newNewsObject = News(id: subJson["id"].intValue, title: subJson["title"].stringValue, link: subJson["url"].stringValue, imageLink: subJson["image_url"].stringValue, summary: subJson["news_text"].stringValue, date: subJson["date"].stringValue)
arrayNews.append(newNewsObject)
}
但是当我尝试将它附加到数组时,我遇到了以下错误?
cannot invoke append with an argument list of type (News)
测试答案
var arrayNews = Array<Array<News>>()
let recentArray = [News]()
for (key: String, subJson: JSON) in jsonArray {
// Create an object and parse your JSON one by one to append it to your array
var newNewsObject = News(id: subJson["id"].intValue, title: subJson["title"].stringValue, link: subJson["url"].stringValue, imageLink: subJson["image_url"].stringValue, summary: subJson["news_text"].stringValue, date: subJson["date"].stringValue)
recentArray.append(newNewsObject)
}
arrayNews.append(recentArray)
错误消息
immutable value of '[(News)] only has mutating members named append
答案 0 :(得分:5)
使用
var arrayNews = Array<Array<News>>()
你声明你将拥有一个数组数组。
然后你追加一个News
对象的新实例,它不是一个数组。
因此,您应该将arrayNews
变量更改为News
个对象的数组:
var arrayNews = [News]()
答案 1 :(得分:4)
arrayNews
需要Array
个元素,但您为其提供了News
元素。
您可以使用以下创建当前剖面阵列,然后将其添加到多维数组中:
let sectionArray = [News]()
sectionArray.append(newNewsObject)
arrayNews.append(sectionArray)