【发布时间】:2015-09-05 17:43:26
【问题描述】:
我有一个自定义集合类,其中包含用 Obj-c 编写的嵌入式数组。该类实现了 NSFastEnumerator 协议,以便在 Obj-c 中可迭代。
对于我的 Swift 类,我必须根据 SOF 上的方法添加以下代码。
extension CustomCollection: SequenceType {
public func generate() -> NSFastGenerator {
return NSFastGenerator(self)
}
}
这再次使它在 Swift 类中可迭代。
在我需要在我的一个 Swift 基类中将此类用作泛型类型之前,一切都很好。
class SomeBaseClass<T: CustomCollection> {
typealias Collection = T
var model: Collection?
// Implementation goes here
}
当我尝试迭代我的“模型”属性时,我在构建期间收到命令信号失败错误。
知道这需要如何完成以及是否有可能完成?
运行 XCode 7 beta 6 和 Swift 2.0
谢谢。
【问题讨论】:
-
将
typealias Collection = CustomCollection更改为typealias Collection = T是否可以解决问题? -
oisdk 对不起,这是一个错字。将更新问题。
标签: ios objective-c swift generics swift2