【发布时间】:2015-08-19 05:38:09
【问题描述】:
似乎 swift 在处理泛型类时存在一些问题。似乎这些代码可以编译,但遇到println(act.actId) 时会出现运行时错误。它抛出了一个EXC_BAD_ACCESS 错误。
对于这个问题还有其他方法或解决方法吗?
public class Item {
public var id: String
public init(str: String) {
id = str
}
}
public class Account: Item {
public var actId: String
public override init(str: String) {
actId = "antId: \(str)"
super.init(str: str)
}
}
public class Keyword: Item {
public var keywordId: String
public override init(str: String) {
keywordId = "keywordId: \(str)"
super.init(str: str)
}
}
public class Creator<T: Item> {
public func parse(str: String) -> T {
var result: T = T(str: str)
return result
}
}
var a = Creator<Account>()
var act = a.parse("Apple")
println(act.actId)
【问题讨论】:
标签: swift generics design-patterns