我试图从泛型类派生我的类:
class foo<T> {}
class bar : foo<Int> {}
Run Code Online (Sandbox Code Playgroud)
但是此代码无法使用en错误进行编译:
从泛型类派生的类也必须是通用的
如何避免这种限制?可能吗?
我尝试在swift ios应用程序中实现CQRS模式,我发现了奇怪的行为.
核心课程:
class Query<T> {}
class QueryHandler<TResult, TQuery:Query<TResult>> {
func execute(query: TQuery, callback: (result: TResult) -> Void ) {
}
}
Run Code Online (Sandbox Code Playgroud)
实施类:
class GetRandomStringsQuery: Query<[String]> {
internal var prefix:String
init(prefix: String) {
self.prefix = prefix
}
}
class GetRandomStringsQueryHandler: QueryHandler<[String], GetRandomStringsQuery> {
override func execute(query: GetRandomStringsQuery, callback: (result: [String]) -> Void) {
var result = [String]()
for var i = 0; i < 100; i++ {
result.append("[\(i)]: \(query.prefix)")
}
callback(result: result)
}
}
Run Code Online (Sandbox Code Playgroud)
用法示例:
@IBAction func generateMemoryLeak(sender: AnyObject) { …Run Code Online (Sandbox Code Playgroud)