स्विफ्ट, आदेश is
या as?
downcasting आप @objc
विशेषता के साथ प्रोटोकॉल चिह्नित करना होगा साथ प्रोटोकॉल अनुरूपता की जाँच करने में। एक बार जब आप उस गुण के साथ एक प्रोटोकॉल निशान ऐसा लगता है कि आप एक संपत्ति के रूप में एक enum के साथ एक प्रोटोकॉल नहीं हो सकता क्योंकि enums ऑब्जेक्टिव-सी में नहीं दर्शाया जा सकता।चेक प्रोटोकॉल अनुरूपता जब प्रोटोकॉल स्विफ्ट में एक enum शामिल?
enum Language:String {
case English = "English"
case Spanish = "Spanish"
case German = "German"
}
@objc protocol Humanizable {
var language:Language { get set }
}
आपको एक त्रुटि मिल जाएगा: http://swiftstub.com/475659213/
उदाहरण में अगर आप बदलना Language
String
लिए तो यह ठीक काम करता है: error: property cannot be marked @objc because its type cannot be represented in Objective-C
यहाँ पूर्ण उदाहरण है।
swiftstub.com लिंक के लिए धन्यवाद, बहुत उपयोगी! एक दिलचस्प समस्या भी। – ColGraff
@Graff कोई जांच नहीं। कम से कम आप इसे आज़मा सकते हैं और जिस समस्या का सामना कर रहे हैं उसे देख सकते हैं। – Johnston
हाँ, मैं इसे देखता हूं। मैं थोड़ा सा मूर्खतापूर्ण लेकिन अभी तक कुछ भी नहीं आया है। उम्मीद है कि वहाँ एक अच्छा जवाब वहाँ बाहर है, सबसे मैं enum के स्थान पर एक इंट या स्ट्रिंग उपयोग कर रहा था के साथ आ सकता है। – ColGraff