我正在尝试将几个现有的类分组到一个自定义协议中,这样我就可以对它们一视同仁了。例如,我想将这两个类组合在一个协议下,如下所示:
protocol CLKComplicationTemplateRingable {
var fillFraction: Float { get set }
}
extension CLKComplicationTemplateCircularSmallRingText: CLKComplicationTemplateRingable {
}
extension CLKComplicationTemplateModularSmallRingText: CLKComplicationTemplateRingable {
}
为什么当我这样做时,我不能这样做:
if let template as? CLKComplicationTemplateRingable {
print("\(template.fillFraction)")
}
它不编译,它给出了这个错误:Variable binding in a condition requires an initializer
我正确地接近这个吗?任何建议或帮助将不胜感激!