我创建了一个多维数组,它假设持有新闻的不同部分,例如热门和最近的新闻。因此,我创建了一个这样的数组,其中News是我的课程。将数组追加到多维数组
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
我已经添加了对我的问题的答案的测试,我得到一个新的错误 –
因为你使用'let ',它声明了一个* constant *,你不能修改。你应该使用一个变量('var')来代替。 – Moritz