Bu yüzden hücreleri hesaplanan mesafeye göre sıralamaya çalışıyorum. Bir yapı sahnedeHücreleri uzaklığa göre ayırma
struct Sal {
var name:String
var coordinatesLat: CLLocationDegrees
var coordinatesLong: CLLocationDegrees
//var distance?
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! SalCustomCell
let name = sals[indexPath.row].name
cell.name.text = name
// Calculate distance between current location and sal
let salLocation = CLLocation(latitude: sals[indexPath.row].coordinatesLat, longitude: sals[indexPath.row].coordinatesLong)
// Display distance in cell.
let distanceM = viewController.distanceFromLocation(salLocation)
let distanceKm = round(distanceM/1000)
cell.distance.text = String(distanceKm) + "km"
return cell
}
ben değilim sahne B'de Km içinde mesafeyi görüntülemek için sahne A'dan işlevleri çağırmak A
func distanceFromLocation(location: CLLocation) -> CLLocationDistance {
// Find lat and long coordinates of current location
let getLat = self.location.latitude
let getLon = self.location.longitude
let currentLocation = CLLocation(latitude: getLat, longitude: getLon)
// Calculate distance from current location to sal
let distance = currentLocation.distanceFromLocation(location)
return distance
}
sahne B var onları hücrede görüntülenen mesafelere göre sıralamaya çalışıyorum ama onları nasıl sıralayacağımı emin değilim. o adı olsaydı ben sadece
sals.sortInPlace ({ $0.name < $1.name })
yapabilirdi ama ayrı yapının değil çünkü
sals.sortInPlace ({ $0.distance < $1.distance })
yapamaz. Yapıdan ayrı tutmalı mıyım? Öyleyse nasıl?
Ben de o tarafavar distance = [Double]()
self.distance.append(distanceKm) // inside cellForRowAtIndexPath
distance.sortInPlace ({ $0 < $1 })
sıralamak için boş bir dizi oluşturmak ve diziye mesafe eklemek için çalıştı Ama bu mesafe hesaplama içermeyecek şekilde bu
_cells_ öğesini sıralamıyorsunuz. _model data_ öğesini sıralarsınız ve tablo görünümünü yeniden yüklersiniz. 'cellForRowAtIndexPath', bu sıralamayı yapacak yer olan _not_; Önceden model verisinde yapılmalıdır. – matt
Dolayısıyla, bir şekilde, yapıya bir şekilde bir mesafe eklemem ve onu oluşturduğum dizimden ayırmam gerekiyor, değil mi? Bu mantıklıysa – luke
Ne sals'ın ne olduğunu açıklamıyorsunuz ama bunun bir dizi Sal olduğunu varsayalım. Öyleyse evet, bu diziyi sıralarsınız. Ama bunu cellForRow'da yapmazdınız. – matt