में एनम के माध्यम से छेड़छाड़ करना मेरे पास एक साधारण enum है जिसे मैं फिर से शुरू करना चाहता हूं। इस उद्देश्य के लिए, मैंने नीचे दिए गए कोड में दिखाए गए अनुसार अनुक्रम और IteratorProtocol अपनाया है। BTW, यह हो सकता है कॉपी/Xcode 8.स्विफ्ट 3.0
import UIKit
enum Sections: Int {
case Section0 = 0
case Section1
case Section2
}
extension Sections : Sequence {
func makeIterator() -> SectionsGenerator {
return SectionsGenerator()
}
struct SectionsGenerator: IteratorProtocol {
var currentSection = 0
mutating func next() -> Sections? {
guard let item = Sections(rawValue:currentSection) else {
return nil
}
currentSection += 1
return item
}
}
}
for section in Sections {
print(section)
}
में एक खेल का मैदान के लिए चिपकाया लेकिन के लिए में पाश त्रुटि संदेश "प्रकार 'Sections.Type' प्रोटोकॉल के लिए 'अनुक्रम' अनुरूप नहीं है" उत्पन्न । प्रोटोकॉल अनुरूपता मेरे विस्तार में है; तो, इस कोड के साथ क्या गलत है?
मुझे पता है कि ऐसा करने के अन्य तरीके हैं लेकिन मैं समझना चाहता हूं कि इस दृष्टिकोण में क्या गलत है।
धन्यवाद।
जवाब है कि यहां आपकी समस्या का समाधान (प्रश्न स्ट्रिंग प्रकार के बारे में है, लेकिन अधिकतर उत्तर किसी भी प्रकार के साथ काम करेंगे) की एक संख्या हैं : http://stackoverflow.com/questions/24007461/how-to-enumerate-an-enum-with-string-type – kevin