ios11上swift中的CMSensorDataList枚举
Posted
技术标签:
【中文标题】ios11上swift中的CMSensorDataList枚举【英文标题】:CMSensorDataList enumeration in swift on ios11 【发布时间】:2017-09-26 01:10:43 【问题描述】:周围有很多关于通过CMSensorDataList枚举的讨论,但是,它们都有相同的示例:
extension CMSensorDataList: SequenceType
public func generate() -> NSFastGenerator
return NSFastGenerator(self)
由于多种原因,这在 ios11 上不起作用(NSFastGenerator
不存在,SequenceType
已重命名为 Sequence
)。
如何在现代 swift 中通过 CMSensorDataList
枚举?
【问题讨论】:
这里是 Swift 3 版本:***.com/q/31101573/1187415 【参考方案1】:如果 swift 4 和 5 会起作用
extension CMSensorDataList: Sequence
public typealias Iterator = NSFastEnumerationIterator
public func makeIterator() -> NSFastEnumerationIterator
return NSFastEnumerationIterator(self)
现在你需要这样做
let rec = CMSensorRecorder()
if let list = rec.accelerometerData(from: date1, to: date2)
for item in list
if let data = item as? CMRecordedAccelerometerData
let x = data.acceleration.x
print("X: \(x)")
【讨论】:
以上是关于ios11上swift中的CMSensorDataList枚举的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 11 Swift 4 上应用渐变后 UINavigationBar 标题和按钮消失
无视频输出和 [MC] 从公共有效用户设置中读取。 Swift/iOS 11 中的错误
Swift 3 - iOS 11.2 上的 UICollectionview 问题
在 iOS 13 上同步更新线程内的发布值时,Swift 崩溃