1
以下是我正在使用的一组价值关系的示例。Swift协议一致性
protocol Configurable {
func configure(data: Any?) -> Void
}
class RelatedObject {
var x: String = ""
var y: String = ""
}
class Example {
var a: String = ""
var b: String = ""
var c: String = ""
}
extension Example: Configurable {
func configure(data: Any?) //I want the parameter to be of type RelatedObject?, not Any?
{
if let d = data as? RelatedObject { //I don't want to have to do this every time i implement Configurable on an object.
//do stuff
a = d.x
b = d.y
c = d.x + d.y
}
}
}
是否有我的类实现可配置的协议能够限制对象的特定类型的他们的函数签名中接受的方式?
我觉得Swift会/可能/应该有办法避免一种情况,我必须检查传递到我想要配置的对象的类类型。
非常感谢!我的同事和我整天绞尽脑汁:) – 72A12F4E
我很高兴它帮助你。本周休息很多。 –