Commit 006c74c68f3cfc806a4fc9c119b8bfcc07293277

Authored by jason
1 parent 10c6e004

feat:UInt8 combine into UInt32

HDFwear/Home/Model/NewGpsModel.swift 0 → 100644
  1 +//
  2 +// NewGpsModel.swift
  3 +// HDFwear
  4 +//
  5 +// Created by admin on 2024/1/9.
  6 +//
  7 +
  8 +import Foundation
... ...
HDFwear/Home/Model/NewSleepModel.swift
... ... @@ -76,13 +76,9 @@ class NewSleepModel: NSObject {
76 76 // 将数组分成9个一组
77 77 for index in stride(from: 0, to: data.count, by: 9) {
78 78 let sleepStatus = NewSleepStatus(rawValue: data[index]) ?? .awake
79   - let rawStartTime = UInt32(data[index + 1]) |
80   - (UInt32(data[index + 2]) << 8) |
81   - (UInt32(data[index + 3]) << 16) |
82   - (UInt32(data[index + 4]) << 24)
83   - let startTimeInterval = TimeInterval(rawStartTime)
84   - let startTime = Date(timeIntervalSince1970: startTimeInterval)
85   - let duration = UInt32(data[index + 5]) | (UInt32(data[index + 6]) << 8) | (UInt32(data[index + 7]) << 16) | (UInt32(data[index + 8]) << 24)
  79 + let combinedUInt32 = data[1..<5].reduce(0) { ($0 << 8) + UInt32($1) }
  80 + let startTime = Date(timeIntervalSince1970: TimeInterval(combinedUInt32))
  81 + let duration = UInt32(data[5..<9].reduce(0) { ($0 << 8) + UInt32($1) })
86 82  
87 83 let fragment = SleepFragment(sleepStatus: sleepStatus, startTime: startTime, duration: duration)
88 84 sleepFragments.append(fragment)
... ... @@ -95,9 +91,11 @@ class NewSleepModel: NSObject {
95 91 var napFragments = [NapFragment]()
96 92 // 将数组分成12个一组
97 93 for index in stride(from: 0, to: data.count, by: 12) {
98   - let startTime = Date(timeIntervalSince1970: TimeInterval(UInt32(data[index]) | UInt32(data[index + 1]) << 8 | UInt32(data[index + 2]) << 16 | UInt32(data[index + 3]) << 24))
99   - let endTime = Date(timeIntervalSince1970: TimeInterval(UInt32(data[index + 4]) | UInt32(data[index + 5]) << 8 | UInt32(data[index + 6]) << 16 | UInt32(data[index + 7]) << 24))
100   - let duration = UInt32(data[index + 8]) | UInt32(data[index + 9]) << 8 | UInt32(data[index + 10]) << 16 | UInt32(data[index + 11]) << 24
  94 + let startCombinedUInt32 = data[0..<4].reduce(0) { ($0 << 8) + UInt32($1) }
  95 + let startTime = Date(timeIntervalSince1970: TimeInterval(startCombinedUInt32))
  96 + let endCombinedUInt32 = data[4..<8].reduce(0) { ($0 << 8) + UInt32($1) }
  97 + let endTime = Date(timeIntervalSince1970: TimeInterval(endCombinedUInt32))
  98 + let duration = data[8..<12].reduce(0) { ($0 << 8) + UInt32($1) }
101 99  
102 100 let napFragment = NapFragment(startTime: startTime, endTime: endTime, duration: duration)
103 101 napFragments.append(napFragment)
... ...