0
ここでは、テーブルビューの項目を実装していましたが、モデルクラスを使用して項目を読み込みましたが、ここではロードされた項目が新しい項目に置き換えられ、apiを呼び出すたびに新しいデータが返され、古いデータは上書きされ、一度に10個のアイテムを初めて実装しています誰でも問題の解決方法を教えてください。ページビューですべてのデータを表示するには?
func listCategoryDownloadJsonWithURL(listUrl: String) {
let url = URL(string: listUrl)!
print(listUrl)
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
if error != nil { print(error!); return }
do {
if let jsonObj = try JSONSerialization.jsonObject(with: data!) as? [String:Any] {
self.listClassModel = ModelClass(dict: jsonObj as [String : AnyObject])
DispatchQueue.main.async {
guard let obj = self.listClassModel else { return }
let itemsCount = obj.items.count
print(itemsCount)
for i in 0..<itemsCount {
let customAttribute = obj.items[i].customAttribute
for j in 0..<customAttribute.count {
if customAttribute[j].attributeCode == "image" {
let baseUrl = "http://192.168.1.11/magento2/pub/media/catalog/product"
self.listCategoryImageArray.append(baseUrl + customAttribute[j].value)
print(self.listCategoryImageArray)
}
}
}
self.activityIndicator.stopAnimating()
self.activityIndicator.hidesWhenStopped = true
self.collectionView.delegate = self
self.collectionView.dataSource = self
self.collectionView.reloadData()
self.collectionView.isHidden = false
self.tableView.reloadData()
}
}
} catch {
print(error)
}
}
task.resume()
}
ここでは空の配列を宣言しましたが、前述の変更行self.listClassModel.append(contentsOf:ModelClass(dict:jsonObj as [String:AnyObject]))でエラーを再現しました。エラーはtypeの値です[string:anyobject]にメンバの追加がありませんvar listClassModel:[String:AnyObject] = [:] –
var listClassModel = [ModelClass]()これは配列のインスタンス化方法です。あなたは上記のコードで辞書を定義しています。 – Aks
はい仲間が –