Junior — Middle
Jaké jsou hlavní výhody používání UITableView a UICollectionView ve srovnání s UIScrollView?
sobes.tech AI
Odpověď od AI
UITableView a UICollectionView nabízejí pohodlné a optimalizované mechanismy pro zobrazování seznamů a kolekcí dat, na rozdíl od UIScrollView, který pouze zajišťuje posouvání obsahu.
Hlavní výhody:
- Opakované použití buněk: UITableView a UICollectionView používají mechanismus opakovaného použití buněk (reuseIdentifier), což výrazně snižuje spotřebu paměti a zvyšuje výkon při velkém počtu prvků.
- Správa dat: Jsou úzce integrovány s delegáty a zdroji dat, což usnadňuje aktualizaci a správu obsahu.
- Animace a aktualizace: Umožňují snadno animovat vložení, odstranění a aktualizaci prvků.
- Flexibilní rozvržení: UICollectionView podporuje vlastní rozvržení, což umožňuje vytvářet složité mřížky a nestandardní uspořádání prvků.
Příklad použití UITableView s opakovaným použitím buněk:
class MyViewController: UIViewController, UITableViewDataSource {
let tableView = UITableView()
let data = ["Jablko", "Banán", "Třešeň"]
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
}
}