Ich versuche, ein paar vorhandene Klassen in einem einzigen benutzerdefinierten Protokoll zu gruppieren, damit ich sie gleich behandeln kann. Zum Beispiel habe ich zu einer Gruppe wie diesen, diese beiden Klassen unter einem einzigen Protokoll möchte:Hinzufügen von Protokollkonformität zu vorhandener Klasse dann Überprüfung, ob Geräte?
protocol CLKComplicationTemplateRingable {
var fillFraction: Float { get set }
}
extension CLKComplicationTemplateCircularSmallRingText: CLKComplicationTemplateRingable {
}
extension CLKComplicationTemplateModularSmallRingText: CLKComplicationTemplateRingable {
}
Wie kommt es, wenn ich das tue, kann ich dies nicht tun:
if let template as? CLKComplicationTemplateRingable {
print("\(template.fillFraction)")
}
Es ist nicht Kompilieren, es gibt diesen Fehler: Variable binding in a condition requires an initializer
Bin ich das richtig? Jede Beratung oder Hilfe würde sehr geschätzt werden!