Sen UITableView en hücreler istediğiniz herhangi bir şekilde sipariş edebilirsiniz, ama sen tablonun veri kaynağı oluşturduğunuzda, bunları göstermeden önce bunu yapmak zorunda. Bir NSFetchResultsController kullanırsanız, uzaklığı sıralama tanıtıcısı olarak ekleyebilirsiniz. Basit bir NS (Değişken) Dizisi kullanıyorsanız, bunu tabloyu yapmadan önce sıralayın. Chris dediği gibi o, sonra kullandığınız hangi bir NSArray ise
, sen
NSSortDescriptor *titleSorter= [[NSSortDescriptor alloc] initWithKey:@"annotationLocation" ascending:YES];
ile yapabilirsiniz:
[arrayOfObjects sortUsingDescriptors:[NSArray arrayWithObject:titleSorter];
ve bir NSFetchResultsController ise:
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:titleSorter, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
Douglas, hangi çözümü kullandınız? CoreData kullanıyor musunuz? – marciokoko
ferostar çözümü benim için çalışıyor. .Plist dosyasını kullanıyorum. kullanıcı konumu ve ek açıklamaların her ikisi de CLLocation'dır. Bu yüzden -initWithLatitude: longitude: ve -distanceFromLocation: mesafeleri almak ve bir NSArray üzerinde sıralamak için kullandım. –
Belki de sohbet etmek en iyisi olurdu ama lat ve long ile konumlar dizisi var. Kullanıcı Konumunun her bir konuma olan mesafesini hesaplıyorum. Yani tüm verilere sahibim, bu yüzden yeni diziye ne koyabilirim? Burada: http: //stackoverflow.com/questions/14845434/how-do-i-sort-table-cells-from-core-data – marciokoko