Değerleri yalnızca String, Int veya boole olabilecek bir dizi oluşturmanız gereken bir gereksinimim var. Double veya başka bir değer türü eklemeyi denediysem, Swift derleyicisi şikayet etmelidir.Değerleri yalnızca String, Int ve Boole gibi bir dizi veya Sözlük nasıl oluşturulur?
cevap
protocol Elem {}
extension Int: Elem {}
extension String: Elem {}
extension Bool: Elem {}
let arr = [Elem]()
Bir kukla protokolünü
protocol SpecialType {}
ilan ederek bunu ve o protokol
extension String : SpecialType{}
extension Int : SpecialType{}
extension Bool : SpecialType{}
Bir Çift eklemeye çalışırsanız Şimdi derleyici şikayet talep türlerini uygun sağlayabilirsiniz
let specialDict : [String:SpecialType] = ["1" : "Hello", "2": true, "3": 2.0]
// value of type 'Double' does not conform to expected dictionary value type 'SpecialType'
'[String: Any]' veya SpecialType ile [[String: Any]] ' –
Bu gerekli değildir. Sadece 'Özel' ile 'Özel' yerine. 'Array' ve 'Dictionary' koleksiyonları bunu doğru olarak değerlendirecek. – vadian
no Demek istediğim, eğer veriyi dizi ya da sözlükten kontrol etmek istersem .. diziyle ya da sözlükle aynı şeyi kullanabilir miyiz? –
Teşekkürler. İlk siz olduğunuzdan, cevabınızı kabul etmeliyim – Taseen
Kod snippet'inin testine başvurdum, bunu yaptım ve olması gerektiği gibi çalışıyor, lütfen benim düzenlememi kabul edin :) –