Используйте repr()
, print
использует str()
, который уменьшает число десятичных цифр до 12, чтобы сделать вывод удобным.
In [17]: a=0.123456789101997
In [18]: str(a)
Out[18]: '0.123456789102'
In [19]: repr(a)
Out[19]: '0.123456789101997'
или форматирование строки:
In [21]: "{0:.15f}".format(a)
Out[21]: '0.123456789101997'
Очистить здесь
case.success(let value):
let json = JSON(value)
print(json)
let data = json["inspections_overdue_data"]
print(data)
if data == []{
self.viewNodata.isHidden = false
}else{
self.overDueData.removeAll()
data.array?.forEach({ (iunOverDue) in
let iOveList = OvedueModel(surveyor_id: iunOverDue["surveyor_id"].stringValue, country: iunOverDue["country"].stringValue, time: iunOverDue["time"].stringValue, address2: iunOverDue["address2"].stringValue, address3: iunOverDue["address3"].stringValue, notes: iunOverDue["notes"].stringValue, house_num: iunOverDue["house_num"].stringValue, name: iunOverDue["name"].stringValue, address1: iunOverDue["address1"].stringValue, latitude: iunOverDue["latitude"].stringValue, eircode: iunOverDue["eircode"].stringValue, date_inspected: iunOverDue["date_inspected"].stringValue, property_id: iunOverDue["property_id"].stringValue, county: iunOverDue["county"].stringValue, client_id: iunOverDue["client_id"].stringValue, longitude: iunOverDue["longitude"].stringValue)
self.searchResult = self.overDueData
self.overDueData.append(iOveList)
})
self.tblOvedue.reloadData()
}
Вы также можете объявить массив как Set для удаления похожих объектов
Пожалуйста, попробуйте этот код:
func OverdueList(){
let preferences = UserDefaults.standard
let uid = "u_id"
let acTkn = "acc_tkn"
let u_ID = preferences.object(forKey: uid)
let A_Token = preferences.object(forKey: acTkn)
let params = ["user_id": u_ID!, "access_token": A_Token!]
print(params)
SVProgressHUD.show()
Alamofire.request(inspectionsList, method: .post, parameters: params).responseJSON(completionHandler: {(response) in
switch response.result{
case.success(let value):
self.overDueData.removeAll()
let json = JSON(value)
print(json)
let data = json["inspections_overdue_data"]
print(data)
if data == []{
self.viewNodata.isHidden = false
}else{
data.array?.forEach({ (iunOverDue) in
let iOveList = OvedueModel(surveyor_id: iunOverDue["surveyor_id"].stringValue, country: iunOverDue["country"].stringValue, time: iunOverDue["time"].stringValue, address2: iunOverDue["address2"].stringValue, address3: iunOverDue["address3"].stringValue, notes: iunOverDue["notes"].stringValue, house_num: iunOverDue["house_num"].stringValue, name: iunOverDue["name"].stringValue, address1: iunOverDue["address1"].stringValue, latitude: iunOverDue["latitude"].stringValue, eircode: iunOverDue["eircode"].stringValue, date_inspected: iunOverDue["date_inspected"].stringValue, property_id: iunOverDue["property_id"].stringValue, county: iunOverDue["county"].stringValue, client_id: iunOverDue["client_id"].stringValue, longitude: iunOverDue["longitude"].stringValue)
self.searchResult = self.overDueData
self.overDueData.append(iOveList)
})
self.tblOvedue.reloadData()
}
SVProgressHUD.dismiss()
case.failure(let error):
print(error.localizedDescription)
}
})
}
Это может помочь вам поблагодарить вас.
Это просто ... просто потому, что при обновлении вы вызываете 'OverdueList', но не можете удалить данные из массива overDueData. Вот почему вы повторяете данные.
Для этого вам просто нужно сделать это как можно проще.
@IBAction func btnRefreshTapped(_ sender: UIButton) {
self.overDueData.removeAll()
self.OverdueList()
}