我創建了一個多維數組,它假設持有新聞的不同部分,例如熱門和最近的新聞。因此,我創建了一個這樣的數組,其中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