Sobes.tech
Junior — Middle

როგორ ახორციელებთ დელეგატს თქვენი პროექტის ცხრილის მართვისთვის?

sobes.tech AI

პასუხი AI-სგან

iOS-ში ცხრილის (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])")
    }
}

პროექტში ჩვეულებრივ, ცალკე კლასი ან გაფართოება ქმნიან დელეგატისთვის, რათა გამიჯნოს ჩვენება და მოვლენის დამუშავების ლოგიკა კონტროლერიდან.