UITableViewController এবং UIViewController — আইওএস UIKit-এর দুটি আলাদা ক্লাস, ভিন্ন উদ্দেশ্যে ব্যবহৃত হয়।
- UIViewController — একটি ভিউ কন্ট্রোলার ম্যানেজ করে, এর লাইফসাইকেল মেথড (viewDidLoad, viewWillAppear ইত্যাদি) হ্যান্ডেল করে।
- UITableViewController — টেবিল ভিউ, এর ডেটা এবং ইভেন্ট ম্যানেজ করে। এটি UIViewController, UITableViewDataSource, UITableViewDelegate কনফর্ম করে।
UITableViewController মূলত তখন ব্যবহার করা হয় যখন ভিউ কন্ট্রোলারে শুধু টেবিল ভিউ থাকে। অন্যথায় UIViewController-এ UITableViewDataSource এবং Delegate ইমপ্লিমেন্ট করুন।
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
override func viewDidLoad() { }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { }
}
UITableViewController-এ কিছু ডিফল্ট বিহেভিয়ার আছে — viewWillAppear-এ ডেটা রিলোড, সিলেকশন ক্লিয়ার, স্ক্রোল ইন্ডিকেটর ফ্ল্যাশ।