Swift

Swift İle Listeleme İşlemleri (TableView)

Sınıfa dahil edilmesi gerekenler; UITableViewDelegate, UITableViewDataSource dışında 2 ana fonksiyon çağrılmalıdır. cellForRowAt ve numberOfRowsInSection fonksiyonları, tableView için zorunlu eklenmesi gereken fonksiyonlardır.

cellForRowAt fonksiyonu her bir satırı oluşturan fonksiyondur. numberOfRowsInSection’da return edilen sayı kadar çalıştırılır.

cellForRowAt Fonksiyonu

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITabbleViewCell()
cell.textLabel?.text = myFriends[indexPath.row]
return cell
}

numberOfRowsInSection Fonksiyonu 

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {   
       return myFriends.count;
}

Delegate

viewDidLoad() içerisinde tanımlanabilir.

tableView.delegate = self
tableView.dataSource = self

Sola Çekerek Silme İşlemi

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
myFriends.remove(at: indexPath.row) // array'den de siliyoruz.
tableView.deleteRows(at: [indexPath], with: UITableView.RowAnimation.fade) // satırı siliyoruz.
}
}

didSelectRowAt ile Seçim İşlemi

Aşağıdaki kod yardımı ile tablodaki bir elemana dokunulduğunda farklı bir viewController’a segue işlemi gerçekleştirilir.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tiklananIcerik = indexPath.row
performSegue(withIdentifier: "detayEkrani", sender: nil)
}

TableView’da Özelleştirilmiş Satırlar

PrototypeCells Attributes Inspector’dan eklenir ve cell dizaynı yapılır.  Dizayn bittikten sonra yeni bir UITableViewCell class’ı ile yeni bir dosya oluşturup cell class’ı olarak kaydediyoruz. TableView’a resim ekleme, swift ile listeleme işlemleri gibi soruların cevabı prototypeCells’den geçiyor.

let cell = tableView.dequeueReusableCell(withIdentifier: "messageRow", for: indexPath) as! MessageRowTableViewCell
cell.message.text = "deneme mesajı”
cell.likeIcon.image = UIImage(named: “heart")
return cell