मैं निम्नलिखित प्रोटोकॉल और एक वर्ग है कि यह के अनुरूप है:स्विफ्ट
protocol Foo{
typealias BazType
func bar(x:BazType) ->BazType
}
class Thing: Foo {
func bar(x: Int) -> Int {
return x.successor()
}
}
जब मैं कम महत्वपूर्ण चीज़ें के एक सरणी बनाने का प्रयास करें, मैं एक मिल अजीब त्रुटि:
var foos: Array<Foo> = [Thing()]
Protocol Foo can only be used as a generic constraint because it has Self or associated type requirements.
ठीक है, तो यह केवल अगर यह एक संबद्ध प्रकार आवश्यकता (जो यह करता है) है, लेकिन किसी कारण से यह एक त्रुटि है इस्तेमाल किया जा सकता ?? WTF ?!
मुझे यकीन है कि मैं पूरी तरह से समझते क्या संकलक मुझे बताने की कोशिश कर रहा है नहीं कर रहा हूँ ...
के संभावित डुप्लिकेट (http://stackoverflow.com/questions/26267597/cannot-assign-class-instance-to -ट्स-प्रोटोकॉल-प्रकार) – Antonio