0
我的問題是我有ViewDidLoad()
上的函數getData()
,當我切換到另一個視圖並返回到此視圖時,它再次加載在tableView上覆制我的數據的數據。獲取JSON函數時複製數據稱爲
var items = [Items]()
func getData() {
Alamofire.request(url, method: .get).validate().responseJSON { response in
self.obj.helper.checkConnectivity()
switch response.result {
case .success(let value):
let json = JSON(value)
let jsonArray = json[].arrayValue
for json in jsonArray {
let item = Items.fromJson(json: json)
self.items.append(item)
}
case .failure(let error):
print(error)
}
self.tableView.reloadData()
}
}
struct Items {
var id: Int
var name: String
static func fromJson(json: JSON) -> Items {
return Items(
id: json["id"].intValue,
name: json["name"].stringValue,
}
}
這取決於。你爲什麼再次打電話?你再次請求相同的數據,不是嗎?所以避免再次調用它?或者你正在尋找分頁API? – Larme
@Larme我在ViewDidLoad()上調用getData(),所以我只是在ViewController上調用它。 –
你爲什麼要重新加載頁面?如果它被加載,並且你導航到另一個頁面然後返回,你應該只是得到viewDidAppear - 你是否強制卸載視圖作爲導航的一部分?如果你需要卸載頁面,你應該刪除所有的數據作爲卸載的一部分 - 如果它是有效的保持表單數據,你不應該刪除表單... – Russell