Avatar ·

Swift में String प्रकार के enum के सभी मानों को कैसे iterate करें?

सभी को नमस्कार! मैंने अभी-अभी Swift सीखना शुरू किया है और enum के साथ काम करते समय एक समस्या का सामना करना पड़ा। मेरे पास एक enum है जिसमें उत्पाद श्रेणियों के लिए स्ट्रिंग मान हैं: ```swift enum Category: String { case electronics = "Электроника" case clothing = "Одежда" case books = "Книги" case sports = "Спорт" } ``` मुझे picker के लिए सभी उपलब्ध श्रेणियों को एक सूची के रूप में प्रदर्शित करना है, लेकिन मैं समझ नहीं पा रहा हूं कि इस enum के सभी cases को कैसे iterate करूं। मैंने `Category.allCases` का उपयोग करने की कोशिश की, लेकिन compiler शिकायत करता है कि ऐसी कोई property नहीं है। `for category in Category` के माध्यम से करने की कोशिश की, लेकिन वह भी काम नहीं करता। दस्तावेज़ीकरण में `CaseIterable` प्रोटोकॉल के बारे में लिखा है, लेकिन मैं पूरी तरह से नहीं समझता कि इसे सही तरीके से कैसे लागू किया जाए। जब मैं `CaseIterable` जोड़ता हूं, तो कोड compile हो जाता है, लेकिन मुझे यकीन नहीं है कि मैं इसे सही कर रहा हूं। कृपया बताएं कि String प्रकार के enum के सभी मानों को iterate करने का सही तरीका क्या है? और क्या केवल cases ही नहीं, बल्कि उनके rawValues भी प्राप्त किए जा सकते हैं?