Sobes.tech
Junior — Middle

Πώς υλοποιείτε έναν αντιπρόσωπο για τη διαχείριση του πίνακα στο έργο σας;

sobes.tech AI

Απάντηση από AI

Για τη διαχείριση ενός πίνακα (UITableView) στο iOS, δημιουργείται συνήθως μια κλάση που υλοποιεί τα πρωτόκολλα UITableViewDelegate και UITableViewDataSource. Ο delegate είναι υπεύθυνος για την επεξεργασία των γεγονότων αλληλεπίδρασης με τον πίνακα, και η πηγή δεδομένων (data source) για την παροχή των δεδομένων.

Παράδειγμα υλοποίησης του delegate και της πηγής δεδομένων:

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])")
    }
}

Στο έργο, συνήθως δημιουργείται μια ξεχωριστή κλάση ή επέκταση για τον delegate, ώστε να διαχωρίζεται η λογική εμφάνισης και επεξεργασίας γεγονότων από τον ελεγκτή.