[swift-users] still wrestling with a type conversion problem
David Baraff
davidbaraff at gmail.com
Tue Jul 4 09:21:18 CDT 2017
I can’t thank you enough for that.
I totally missed that you can impart behavior to all the types that are part of a generic type by doing a protocol on the generic type itself (i.e. extension Set: MyEncodable).
This approach is really what I wanted because it lets an outside user create their own type and then make it be serializable without *me* (as the author of this facility) knowing they’ve done that.
——————————————
(after some implementation)
extension Set: MyEncodable {
func encoded() -> Any {
return self.map { $0 }
}
func decoded(_ input: Any) -> Set {
if let listVal = input as? [Set.Element] {
return Set(listVal)
}
return self
}
}
C++ blows. Swift rocks.
Thank you again.
More information about the swift-users
mailing list