Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> iOS

UITableViewController और UIViewController में क्या अंतर है?

UIViewController vs UITableViewController

UITableViewController और UIViewController iOS UIKit फ्रेमवर्क के दो अलग-अलग ऑब्जेक्ट हैं। दोनों अलग-अलग उद्देश्यों के लिए उपयोग किए जाते हैं।

एक UIViewController क्लास एक ViewController को प्रबंधित करती है जो उस व्यू कंट्रोलर के भीतर होने वाली क्रियाओं के लिए जिम्मेदार होता है। यह क्लास व्यू कंट्रोलर पर होने वाली क्रियाओं से अवगत होती है, जैसे ViewDidLoad, ViewWillAppear, ViewDidAppear, ViewWillDisappear, ViewDidDisappear।

जबकि, एक UITableViewController एक टेबल को प्रबंधित करने के लिए जिम्मेदार होता है, इसका डेटा और इसके इवेंट्स UITableViewDataSource, UITableViewDelegate का उपयोग करके।

एक UITableViewController UIViewController, UITableViewDataSource और UITableViewDelegate के अनुरूप होता है ताकि टेबल व्यू इम्प्लीमेंट किया जा सके।

UIViewController इम्प्लीमेंट करने वाले क्लास का उदाहरण:

class ViewController: UIViewController {
    @IBOutlet weak var sampleView: UIView!
    override func viewDidLoad() { }
}

एक UITableViewController भी UIViewController के अनुरूप होता है, इसलिए यह UIViewController के मेथड्स इम्प्लीमेंट कर सकता है। UITableViewController का उपयोग ज्यादातर तब किया जाता है जब उस व्यू कंट्रोलर में टेबल व्यू के अलावा कोई अन्य कंटेंट नहीं होता।

अगर व्यू कंट्रोलर में टेबल व्यू के साथ अन्य कंटेंट भी है, तो हम ज्यादातर इसे UIViewController के अनुरूप बनाते हैं और टेबल व्यू के प्रोटोकॉल इम्प्लीमेंट करते हैं जो UITableViewDataSource हैं उस टेबल को डेटा का कुछ स्रोत असाइन करने के लिए और UITableViewDelegate उस टेबल व्यू पर इवेंट्स हैंडल करने के लिए।

UITableViewDataSource/Delegate इम्प्लीमेंट करने वाले 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() मेथड के भीतर किया जाता है।
  1. डायरेक्टएक्स 11 और डायरेक्टएक्स 12 में क्या अंतर है? डायरेक्टएक्स 11 और डायरेक्टएक्स 12 में क्या अंतर है?

    डायरेक्टएक्स एपीआई का एक संग्रह है, या एप्लिकेशन प्रोग्रामिंग इंटरफेस, जिसका उपयोग सॉफ्टवेयर द्वारा मल्टीमीडिया सामग्री को रेंडर करने और ग्राफिकल हार्डवेयर के साथ संचार करने के लिए किया जाता है। डायरेक्टएक्स का प्रमुख घटक एपीआई, डायरेक्ट3डी, सॉफ्टवेयर और ग्राफिक्स हार्डवेयर के बीच संचार को संभालता ह

  1. Android में gravity और layout_gravity का अंतर Android में gravity और layout_gravity का अंतर

    त्वरित सारांश विशेषताgravitylayout_gravity लागू होता हैव्यू के अंदर कंटेंट परव्यू को पेरेंट के अंदर पोजिशन करता है एनालॉजीबॉक्स के अंदर टेक्स्ट संरेखणकंटेनर में बॉक्स की स्थिति पेरेंट आवश्यकताकोई विशेष नहींपेरेंट LinearLayout/FrameLayout होना चाहिए

  1. Android में onCreate() और onStart() में क्या अंतर है Android में onCreate() और onStart() में क्या अंतर है

    परिचयएक्टिविटी जीवनचक्र में `onCreate()` और `onStart()` दो महत्वपूर्ण कॉलबैक हैं, लेकिन उनके उद्देश्य और समय अलग-अलग हैं।मुख्य अंतरपहलूonCreate()onStart()कब कॉल होता हैएक्टिविटी पहली बार बनने परएक्टिविटी उपयोगकर्ता को दिखाई देने वाली होती हैआवृत्तिजीवनचक्र में एक बारहर बार एक्टिविटी फोरग्राउंड में आ