Turkcell | Geleceği Yazanlar

Soru & Cevap

swift harf sırasına göre sıralama

30.05.2020 - 12:46

1) swift ios 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österebiliyorum. Aşağıdaki kodda ise alfabetik sıralama yapıyorum. fakat  perform segue ile diger sayfaya uyumsuz bilgiler aktarıyor. mesela alternatif akım başlık diğer sayfaya doğru akım başlığı ile aktarrıyor. uyumsuzluk var.

2) verileri Harflerin altına göre sıralamak istiyorum;

A

ali

B

burak    vb.

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]()

 

  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let indeks = sender as? Int
        let GidilecekVC = segue.destination as! ViewController2
        GidilecekVC.fizik = fizikListe[indeks!]
        
    }

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 sortedList = fizikListe.sorted { $0.baslik!.compare($1.baslik!) == .orderedAscending }[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!
        
    }

124 Görüntülenme

1 Cevap

Orhan GÜLÜŞEN
01.06.2020 - 17:47

evet 1. sorumunu cevabını çözdüm şu şekilde

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let indeks = sender as? Int
        let GidilecekVC = segue.destination as! ViewController2
        GidilecekVC.fizik = fizikListe.sorted { $0.baslik!.compare($1.baslik!) == .orderedAscending } [indeks!]
        
    }

şeklinde yazdığımız an hem sıralama yapıyor. hemde bilgileri diğer viewcontroller 'a sorunsuz aktarıyor. 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

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