[英]How can I return a Swift generic from a general extension?
如果我有一個這樣的通用類:
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
array: Array<Comparable>
? 我在想類似的事情:
extension Comparable {
var array: Array<Comparable> {
Array(self)
}
}
您不能擴展 Any,請參閱https://stackoverflow.com/a/44396546/12846974
可比擴展示例:
extension Comparable {
var array: Array<Self> {
[self]
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.