I am trying to iterate over a object of CMSensorDataList
class returned by CMSensorRecorder.accelerometerData(from:to:)
. This class confirms to NSFastEnumeration
protocol. So I tried the trick mentioned in https://stackoverflow.com/a/25872991/5603109. However since I am using Xcode Version 8.0 beta (8S128d), it no longer works.
What can I do to make it support for-in
loops?
In Swift 3, SequenceType
has been renamed to Sequence
(the "Type" suffix has been removed from protocols), generate()
has been renamed to makeIterator()
(the concept of a "Generator" has been replaced by an "Iterator") and therefore NSFastGenerator
has also been renamed to NSFastEnumerationIterator
.
Thus you'll want your extension to look like this:
extension CMSensorDataList : Sequence {
public func makeIterator() -> NSFastEnumerationIterator {
return NSFastEnumerationIterator(self)
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With