Protokol uzantıları aracılığıyla bir protokole varsayılan başlatıcı eklemenin bir yolunu arıyorum.Swift protokolü uzantısı init ile kendi kendine referans sorunları
Benim protokoldür: Ben uzantısı üzerinden çalışırsanız Ancak bu protokol I için varsayılan bir başlatıcı yapmak için
struct TestStruct : TestProtocol {
var myVar : Double
init(value : Double) {
myVar = value
}
init (existingStruct : TestProtocol) {
myVar = existingStruct.myVar
}
}
:
protocol TestProtocol {
var myVar : Double { get set }
init(value: Double)
init(existingStruct : TestProtocol)
}
Ben bu protokolü kullanarak bir yapı uyguladık öz sorunları çalıştırmak:
extension TestProtocol {
init(value : Double) {
myVar = value
}
init(existingStruct : TestProtocol) {
myVar = existingStruct.myVar
}
}
Whe Her iki atama hatları yeniden bu işi yapmak için bir yolu var mı
başlatıldı önce referans olarak geçirilen hata Değişken 'self' sorunu - ya da ben sınıfları kullanarak sınırlı mıyım?
Bu xcode, monokai temasıyla mı? Onu istiyorum! <3 – Kutyel
https://github.com/b0ti/xcode-monokai-revisited – Jeef
Ups, 'TestProtocol' u benimseyen somut türün, protokol uzantısındaki init 'ler tarafından tamamen başlatılacağını nasıl garanti edersiniz? özellikle değer türleri için (ör: yapılar veya enumlar). –