UITableViewController और UIViewController iOS UIKit ढांचे के दो अलग-अलग ऑब्जेक्ट हैं। दोनों का उपयोग अलग-अलग उद्देश्यों के लिए किया जाता है।
एक UIViewController क्लास एक ViewContoller का प्रबंधन करता है जो उस व्यू कंट्रोलर के भीतर होने वाली क्रियाओं के लिए ज़िम्मेदार है। यह वर्ग व्यू कंट्रोलर पर होने वाली कार्रवाइयों से अवगत है, जैसे ViewDidLoad, ViewWillApper, ViewDidAppear, ViewWillDisapper, ViewDidDisapper।
जबकि, एक UITableViewController UITableViewDataSource, UITableViewDelegate का उपयोग करके तालिका, उसके डेटा और उसके ईवेंट के प्रबंधन के लिए ज़िम्मेदार है।
एक UITableViewController तालिका दृश्य को लागू करने के लिए UIViewController, UITableViewDataSource और UITableViewDelegate के अनुरूप है।
UIViewController को लागू करने वाले वर्ग का एक उदाहरण नीचे दिया गया है।
class ViewController : UIViewController { @IBOutlet weak var sampleView: UIView! override func viewDidLoad() { } }
एक UITableViewController भी UIViewController के अनुरूप है, इसलिए यह UIViewController के तरीकों को लागू कर सकता है। UITableViewController का उपयोग ज्यादातर तब किया जाता है जब उस ViewController में टेबल व्यू के अलावा कोई अन्य सामग्री न हो।
यदि व्यू कंट्रोलर के पास टेबल व्यू के साथ अन्य सामग्री है, तो हम ज्यादातर इसे एक UIViewController के अनुरूप बनाते हैं और टेबल व्यू के प्रोटोकॉल को लागू करते हैं जो उस टेबल पर डेटा के कुछ स्रोत को असाइन करने के लिए UITableViewDataSource हैं और उस टेबल व्यू पर ईवेंट को संभालने के लिए UITableViewDelegate।पी>
UITableViewDataSource या UITableViewDelegate को लागू करने वाले UIViewController का एक उदाहरण है
class ViewController : UIViewController, UITableViewDataSource, UITableViewDelegate { override func viewDidLoad() { } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) −> Int { // } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) −> UITableViewCell { // } }
उपरोक्त के अलावा तालिका दृश्य के कुछ अन्य गुण भी हैं जिनका उल्लेख नीचे किया गया है।
-
जब तालिका दृश्य प्रदर्शित होने वाला होता है तो यह अपना डेटा पुनः लोड करता है।
-
तालिका दृश्य प्रकट होने पर डिफ़ॉल्ट रूप से इसके चयन को साफ़ कर देता है।
-
जब स्क्रीन पर टेबल व्यू दिखाई देता है, तो इसके स्क्रॉल इंडिकेटर्स फ्लैश हो जाते हैं। यह viewDidAppear() विधि के अंतर्गत किया जाता है।