Назад к вопросам
Вкусно и точка
Junior — Middle
63
Как реализована и функционирует таблица для отображения данных в Swift?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В iOS для отображения табличных данных традиционно используется класс UITableView (в UIKit) или List (в SwiftUI).
В UIKit:
UITableViewотображает данные в виде списка строк, разбитых на секции.- Для работы с таблицей необходимо реализовать протоколы
UITableViewDataSource(для предоставления данных) иUITableViewDelegate(для обработки взаимодействия). - Каждая ячейка создаётся или переиспользуется с помощью идентификатора.
Пример простого UITableView:
class ViewController: UIViewController, UITableViewDataSource {
let tableView = UITableView()
let data = ["Яблоко", "Банан", "Апельсин"]
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
view.addSubview(tableView)
tableView.frame = view.bounds
}
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
}
}
В SwiftUI:
- Используется
List, который автоматически управляет отображением и обновлением данных. - Данные передаются в
Listв виде коллекции.
Пример:
struct ContentView: View {
let fruits = ["Яблоко", "Банан", "Апельсин"]
var body: some View {
List(fruits, id: \ .self) { fruit in
Text(fruit)
}
}
}