2015-11-10 4 views
11

आत्मा में इसी प्रकार की तरह this question, सिवाय इसके कि, केवल कक्षाओं में प्रोटोकॉल को सीमित करने के बजाय, मैं एक प्रोटोकॉल को परिभाषित करने में सक्षम होना चाहता हूं जिसे केवल enums, structs आदि द्वारा अपनाया जा सकता है .. क्या यह संभव है?प्रोटोकॉल को केवल मूल्य प्रकारों तक सीमित कैसे करें?

उत्तर

6

मुझे जवाब नहीं मिला, लेकिन चारों ओर खेलकर, मैं इस निष्कर्ष पर पहुंचा हूं कि आप नहीं कर सकते हैं। कि सिर्फ कक्षाओं के लिए एक प्रोटोकॉल को प्रतिबंधित करने के होने के नाते, आप

protocol SomeProto: class { 
    func structYourStuff() -> Void 
} 

धारणा बनाना तरह class के साथ पूर्व में होना है कि इस अन्य प्रकार के बीच संगत हो सकता है, मैं

protocol SomeProto: struct { 
    func structYourStuff() -> Void 
} 

की कोशिश की लेकिन Xcode मुझे पाँच अलग अलग दिया एक पंक्ति पर त्रुटियां, जो मुझे इस निष्कर्ष पर लाती हैं कि आप नहीं कर सकते हैं। मैं पूरी तरह से गलत हो सकता था, हालांकि मैंने केवल एक सप्ताह पहले स्विफ्ट सीखना शुरू किया था

+2

बिल्कुल, हम यह नहीं कर सकते हैं। आईएमएचओ, यह भाषा के लिए एक उपयोगी विस्तार होगा। – CouchDeveloper

+1

@Couch डेवलपर आपने मुझे सोचा, शायद निकट कार्यक्षमता बनाने का कोई तरीका है क्योंकि हमारे पास कस्टम ऑपरेटरों की लचीलापन है। मैं नहीं सोच सकता कि यह कैसे काम करेगा। – Chris

संबंधित मुद्दे