किसी प्रोटोकॉल की वैकल्पिक प्रॉपर्टी कैसे सेट करता है? उदाहरण के लिए UITextInputTraits में कई वैकल्पिक रीड/राइट गुण हैं। आम तौर पर जब एक प्रोटोकॉल आप एक प्रश्न चिह्न जोड़ें का एक वैकल्पिक प्रॉपर्टी एक्सेसस्विफ्ट: प्रोटोकॉल की वैकल्पिक संपत्ति सेट करना
func initializeTextInputTraits(textInputTraits: UITextInputTraits) {
textInputTraits.keyboardType = .Default
}
लेकिन यह काम नहीं करता: जब मैं निम्नलिखित की कोशिश मैं एक संकलन त्रुटि मिलती है ('textInputTraits' में 'keyboardType' के लिए आवंटित नहीं कर सकते हैं) जब एक मूल्य बताए
textInputTraits.keyboardType? = .Default
प्रोटोकॉल लगता है: (त्रुटि: इस अभिव्यक्ति के परिणाम के लिए आवंटित नहीं किया जा सकता) (? अभी तक)
protocol UITextInputTraits : NSObjectProtocol {
optional var keyboardType: UIKeyboardType { get set }
}
स्विफ्ट 2.2 – adib
के रूप में अभी भी असंभव है स्विफ्ट 4 – Speakus
और एक अच्छे कारण के लिए अभी भी असंभव है। 'वैकल्पिक func setSomething (_ :) 'का उपयोग करें। – akashivskyy