我试图迭代CMSensorDataList类的一个对象,该对象由CMSensorRecorder.accelerometerData(from:to:)返回。该类确认为NSFastEnumeration协议。所以我尝试了https://stackoverflow.com/a/25872991/5603109中提到的技巧。但是,由于我使用的是Xcode 8.0测试版(8S128d),它不再工作了。
我能做些什么来使它支持for-in循环?
发布于 2016-06-15 10:55:48
在Swift 3中,SequenceType被重命名为Sequence ( "Type“后缀已从协议中移除),generate()被重命名为makeIterator() (”生成器“的概念已被”Iterator“取代),因此NSFastGenerator也被重命名为NSFastEnumerationIterator。
因此,您希望您的扩展如下所示:
extension CMSensorDataList : Sequence {
public func makeIterator() -> NSFastEnumerationIterator {
return NSFastEnumerationIterator(self)
}
}https://stackoverflow.com/questions/37829953
复制相似问题