如果我有一个像这样的泛型类:
class Generic<T: Any> {
var object: T
init(object: T) {
self.object = object
}
}我可以像这样从初始化器访问对象:
Generic(object: "Hello World").object.count // 11由于这个泛型类适用于Any类型,我如何扩展所有类型以返回该泛型类的对象?
我的意思是这样的:
extension Any {
var generic: Generic<Self> {
Generic(object: self)
}
}所以我可以打电话给:
"Hello World".generic.object.count // 11我把所有的Any,AnyObject,Self,self,Type等等都搞糊涂了。
更新:
例如,如何使用计算属性array: Array<Comparable>扩展所有Comparable?我在想一些类似的东西:
extension Comparable {
var array: Array<Comparable> {
Array(self)
}
}发布于 2020-02-24 04:48:19
您不能扩展任何,请参阅https://stackoverflow.com/a/44396546/12846974
可比较扩展的示例:
extension Comparable {
var array: Array<Self> {
[self]
}
}https://stackoverflow.com/questions/60365542
复制相似问题