मैंने एक स्विफ्ट प्रोटोकॉल घोषित किया है:
protocol Option {
var name: String { get }
}
मैं इस प्रोटोकॉल के कई कार्यान्वयनों की घोषणा करता हूं - कुछ वर्ग, कुछ दुश्मनी।
मेरे पास इस तरह घोषित संपत्ति के साथ एक दृश्य नियंत्रक है:
var options: [Option] = []
जब मैं कोशिश करता हूं और इस संपत्ति को वस्तुओं के एक समूह में सेट करता हूं जो Optionप्रोटोकॉल को दूसरे वीसी में लागू करता है prepareForSegue, तो मुझे एक रनटाइम त्रुटि मिलती है:
fatal error: array cannot be bridged from Objective-C
यह काम क्यों नहीं करता है? कंपाइलर के पास वह सभी जानकारी है जिसकी उसे आवश्यकता है, और मुझे समझ नहीं आ रहा है कि ऑब्जेक्टिव-सी का उसके साथ क्या करना है- मेरी परियोजना में केवल स्विफ्ट फाइलें हैं, और ये सरणियाँ किसी भी फ्रेमवर्क विधियों में या उसके बाहर नहीं आ रही हैं आवश्यकता होती है उन्हें पाटने की NSArray।
@objcअपने प्रोटोकॉल को प्रस्तुत करने की कोशिश की ? stackoverflow.com/a/28029568/377369