के अनुरूप कक्षा पर टाइप विधि को कॉल करने में असमर्थ मेरा कोड वास्तव में सरल है।प्रोटोकॉल
मेरे प्रोटोकॉल:
protocol BaseEntity
{
class func getInstance(sourceObject: [NSObject : AnyObject], context: AnyObject!) -> BaseEntity
init()
}
फिर एक और कक्षा में मैं इस विधि है:
private func convertJSONDictionaryIntoModel(jsonDictionary : [NSObject : AnyObject], mapClass: BaseEntity.Type) -> BaseEntity
{
let object = mapClass.getInstance(jsonDictionary, context: nil)
return object
}
मैं पहली पंक्ति है कि "के रूप में प्रोटोकॉल प्रकार मूल्य BaseEntity की एक्सेस करना सदस्यों पढ़ता है पर एक संकलक त्रुटि मिली .Type लागू नहीं किया गया है "
जहां तक मेरा बता सकते हैं, इस स्विफ्ट में संभव है।
दुर्भाग्य है, मैं इस के लिए किसी भी समाधान नहीं मिला। एकमात्र तरीका जिसे मैं इसे स्वीकार करने में सक्षम हूं, जेनिक्स का उपयोग करके है, लेकिन जेनरिकों की अपनी सीमाएं भी हैं। इस तरह के मुद्दे मुझे वास्तव में सोचते हैं कि भाषा अपूर्ण है। उनका इरादा चीजों को आसान और अधिक स्पष्ट बनाना था ... अच्छी तरह से अनुमान लगाएं कि क्या वे इस तरह की चीजों का समर्थन नहीं करते हैं और किसी को आपके द्वारा उजागर किए गए कुछ कामकाजों पर भरोसा करना पड़ता है, जो कि बहुत खराब है। – mdonati