Soru & Cevap

firebaseden çektiğim verilerin alfabetik olarak sıralanması.

18.05.2020 - 10:48

firebase de yüklü olan bir sınıfım  ve bu sınıf içinde başlık, açılama, animasyon adı mevcut.  x code da tableviewcell ile sadece başlık kısmını gösterip perform segue ile diger sayfada açıklamasını gösterebiliyorum. sorunum firebase den çektiğim başlıkları alfabetik sıraya göre sıralayamadım. firebase de ki sınıfım aşağıda ki gibi. fakat tableview cell 'e baslik verilerini alfabetik sıraya göre dizemedim

   class FizikSozluk{
    var fizik_id : String?
    var baslik :String?
    var aciklama:String?
    var animasyonAdi:String?

 

   class ViewController2: UIViewController {
    
    @IBOutlet weak var tableview: UITableView!
    
    @IBOutlet weak var seachbar: UISearchBar!
    var fizikListe = [FizikSozluk]()

 

extension ViewController2 : UITableViewDelegate, UITableViewDataSource{
    
    func numberOfSections(in tableView: UITableView) -> Int {
        
        return 1
      }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        fizikListe.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let fizik = fizikListe[indexPath.row]
        
        let cell = tableView.dequeueReusableCell(withIdentifier: "sozluk", for: indexPath) as? TableViewCell
        
        
        cell?.baslik.text = fizik.baslik                          //            Alfabetik olarak veri sıralamaı burada yapmak istiyorum 
                  
             
              
        
        return cell!
        
    }

 

71 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user csaldirim
csaldirim
07.06.2020 - 10:24

Merhaba, "func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)" isminde bir fonksiyonunuz olması gerekiyor. Bu fonksiyonun içerisinde kullandığınız listenin de aynı şekilde sıralı olması lazım.

Profile picture for user csaldirim
csaldirim
18.05.2020 - 03:33

Merhaba,

Listenizi 'başlık' parametresine göre sort edebilirsiniz. Şu şekilde;

let sortedList = fizikListe.sorted { $0.baslik! < $1.baslik! }  /* A'dan Z'ye doğru listeler */

daha sonra table view fonksiyonlarınızın içerisinde 'sortedList' i kullanırısanız sorununuz çözülmüş olacaktır.

Orhan GÜLÜŞEN
29.05.2020 - 09:57
hocam sıraladığımız başlığa tıklanınca diğer viewconrollere farklı bilgiler gönderiyor. Ör: Direnç-> diğer view controllerde ki label de allatrop gibi
Orhan GÜLÜŞEN
20.05.2020 - 11:44
let sortedList = fizikListe.sorted { $0.baslik! < $1.baslik! }[indexPath.row] olunca mis gibi çalışıyor.
Orhan GÜLÜŞEN
20.05.2020 - 01:02
veri sıralamayı türkçe karakterlere göre nasıl yaparız. yoksa türkçe harfle başlayanları sona atıyor
Cenk Saldırım
20.05.2020 - 04:23
Merhaba hocam, şunu deneyebilir misiniz: let sortedList = fizikListe.sorted { $0.baslik!.compare($1.baslik!) == .orderedAscending }[indexPath.row]
Orhan GÜLÜŞEN
20.05.2020 - 05:48
tamamdır türkçe karakterlerde harf sırasına göre sıralandı. teşekkür ederim.