Sobes.tech
Junior — Middle

Жобоңузда таблицаны башкаруу үчүн делегатты кантип ишке ашырасыз?

sobes.tech AI

AIден жооп

iOS-та cтолдун (UITableView) башкаруу үчүн адатта UITableViewDelegate жана UITableViewDataSource протоколдорун ишке ашыратуучу класс түзүлөт. Делегат стол менен өз ара аракеттенүү окуяларын иштетсе, маалымат булагы (data source) маалыматтарды камсыз кылат.

Делегат жана маалымат булагын ишке ашыруу мисалы:

class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    let data = ["Алма", "Банан", "Апельсин"]

    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("Тандалган элемент: \(data[indexPath.row])")
    }
}

Жободо адатта делегат үчүн өзүнчө класс же кеңейтүү түзүлөт, бул көрсөтүү жана окуяларды иштетүү логикасын контроллерден бөлүп турат.