स्वयं निर्मित मॉडल वर्ग में जेनरिक का उपयोग कैसे करें?
मेरे पास एक फीचरलिस्ट मॉडेल क्लास है और अन्य में पसंदीदा मॉडल क्लास है। दोनों समान गुणों को संग्रहीत करते हैं, केवल अंतर अलग वर्ग मॉडल का नाम है।

मुझे ProductDetail नियंत्रक में मॉडल गुण मान प्रदर्शित करने की आवश्यकता है।

मैं जेनरिक का उपयोग करके इस सामान को कैसे प्रबंधित कर सकता हूं?

यहाँ मेरा कोड है (स्विफ्ट 4.2):

पहला मॉडल: पसंदीदा लिस्टमॉडल

class FavoriteListModel {

    var categoryID: Int?

    var item_name: String?

    var MRP: String?

}

दूसरा मॉडल: फ़ीचर लिस्टमॉडल

class FeatureListModel {

    var categoryID: Int?

    var item_name: String?

    var MRP: String?

}

मेरे पास 8-10 और गुण हैं, लेकिन यह मेरे कोड में कुछ सामान है।

नियंत्रक - ProductDetailTableViewController

class ProductDetailTableViewController : UITableViewController {

    var productDetails: FavoriteListModel!

    var productFeatureList: FeatureListModel!

   fileprivate func displayProduct() {

      if productDetails != nil {

        title = productDetails.item_name

        categoryID = productDetails.categoryID!

       }else if productFeatureList != nil {

          categoryID = productFeatureList.categoryID!

          title = productFeatureList.item_name

  }
}

और मेरे उत्पाद विवरण तालिका नियंत्रक में, मैं मॉडल ऑब्जेक्ट तक पहुंच रहा हूं और स्क्रीन पर प्रदर्शित करता हूं। मैं नहीं चाहता अगर-और जाँच करें।

0
shiju86.v 14 जुलाई 2018, 10:18
कृपया अपना कोड दिखाएं।
 – 
luk2302
14 जुलाई 2018, 10:21
आप दोनों के लिए सिंगल मॉडल क्लास रख सकते हैं!
 – 
Ketan Parmar
14 जुलाई 2018, 10:25
@ luk2302: मैंने अपना प्रश्न अपडेट कर लिया है।
 – 
shiju86.v
14 जुलाई 2018, 10:41
@Lion: धन्यवाद !!, लेकिन मैं जेनरिक में कैसे उपयोग कर सकता हूं?
 – 
shiju86.v
14 जुलाई 2018, 10:43
जेनरिक से आप क्या समझते हैं?
 – 
Ketan Parmar
14 जुलाई 2018, 10:44

1 उत्तर

आपके पास यहां जो है वह जेनरिक के लिए उपयोग का मामला नहीं है। जेनेरिक का उपयोग तब किया जाता है जब आपके पास उदाहरण के लिए एक ऐसा फ़ंक्शन होता है जो ठीक वही काम करता है लेकिन दो अलग-अलग पैरामीटर प्रकारों के साथ उपयोग किया जा सकता है। वह तब होता है जब आप जेनरिक का उपयोग करते हैं।

एक अन्य अवधारणा सुपर क्लास (पैरेंट क्लास या बेस क्लास) है जिसका उपयोग तब किया जाता है जब आपके पास सामान्य गुणों वाला वर्ग होता है और फिर उन गुणों वाले अन्य वर्ग होते हैं और फिर अतिरिक्त और अलग अद्वितीय गुण होते हैं, इस मामले में, प्रत्येक वर्ग मूल वर्ग को उप-वर्ग करता है।

आपके पास यहां जो है वह उनमें से कुछ भी नहीं है। इस मामले के लिए एक अच्छा आर्किटेक्चर सिर्फ एक मॉडल प्रकार (वर्ग या संरचना) है और आपके व्यू कंट्रोलर में दो अलग-अलग संग्रह (सरणी या सेट) का उपयोग कर रहा है।

आप एक पसंदीदा वर्ग या फीचर्ड क्लास भी बना सकते हैं जिसमें आपके मॉडल के साथ एक सरणी हो।

0
Alan 14 जुलाई 2018, 10:58
हाँ मैं जानता हूँ। मैं एक मॉडल का उपयोग करके अपनी समस्या का समाधान कर सकता हूं। लेकिन मेरा सवाल जेनरिक से संबंधित है।
 – 
shiju86.v
14 जुलाई 2018, 11:03
आप नहीं कर सकते, जेनरिक विभिन्न प्रकार के लिए हैं अलग-अलग नाम नहीं।
 – 
Alan
14 जुलाई 2018, 11:06