Благодарим вас за помощь в будущем! Это моя структура массива:Проблемы с сортировкой в таблицеView с Swift
var malls: [Mall] = [
mall(name:"yagey", distance:""),
mall[name:"tigey", distance:"")
]
переопределение функ viewDidLoad() { super.viewDidLoad()
var mall = malls[index]
let mallLocate = CLLocation(latitude: mall.latitude, longitude: mall.longitude)
let distanceInMeters = mallLocate.distance(from: coords)/1000
let distanceInMetersString = String(format: "%.1f", distanceInMeters)
for index in 0..<malls.count {
var mall = malls[index] // copy a mall value
mall.distance = distanceInMetersString // change the copy of mall
malls[index] = mall // put the updated mall back into the array
}
malls.sort() { $0.distance < $1.distance }
Как я могу сортировать центры по mall.distance? Пожалуйста, помогите мне, я не могу понять, что это неправильно :(
Это мой Tableview
Tableview
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! EateriesTableViewCell
let mall = mallToDisplayAt(indexPath: indexPath)
let mallLocate = CLLocation(latitude: mall.latitude, longitude: mall.longitude)
print (mallLocate)
cell.distanceLabel.text = distanceInMetersString + "км"
return cell
}
пожалуйста, смотрите код я отправляю снова ,, это не работает слишком –
вы устанавливаете значение расстояния торгового центра во все объекте с тем же значением торгового центром. расстояние = distanceInMetersString // изменить копию торгового вы должны повторно вычислить расстояние мола для каждого объект вара молл = центров [индекс] // скопировать значение мола пусть mallLocate = CLLocation (широта: mall.latitude, долгота : mall.longitude) let distanceInMeters = mallLocate.distance (из: coords)/1000 let distanceInMetersString = String (формат: «% .1f», distanceInMeters) mall.distance = distanceInMetersString + «км» Торговые центры [index] = торговый центр –
Я очень ценю вашу помощь, спасибо, но я не могу понять, что я делаю неправильно здесь, я у меня проблемы с адресом в структуре торгового центра, я думаю .. Можете ли вы снова просмотреть код? Спасибо, действительно Невозможно подстроить значение типа '[Mall]' с индексом типа '(Any) -> Int' , когда var mall = торговые центры [index] in viewDidLoad –