Junior — Middle
Loyihangizda jadvalni boshqarish uchun delegatni qanday amalga oshirasiz?
sobes.tech AI
AIdan javob
iOS-da jadvalni (UITableView) boshqarish uchun odatda UITableViewDelegate va UITableViewDataSource protokollarini amalga oshiradigan sinf yaratiladi. Delegat jadval bilan o'zaro ta'sir qilish voqealarini boshqaradi, va ma'lumotlar manbai (data source) ma'lumotlarni taqdim etadi.
Delegat va ma'lumotlar manbaini amalga oshirish misoli:
class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let data = ["Olma", "Banana", "Apelsin"]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel?.text = data[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("Tanlangan element: \(data[indexPath.row])")
}
}
Loyihada odatda, ko'rsatish va voqealarni boshqarish mantiqini ajratish uchun delegat uchun alohida sinf yoki kengaytma yaratiladi.