我正在尝试使用直接编写的方法在 Xcode 中为我的预览生成一些模拟数据,ContentView_Previews
但我没有成功,我不明白为什么。
struct ContentView_Previews: PreviewProvider {
static let healthManager = generateMockData()
static var previews: some View {
MainView().environmentObject(healthManager)
}
static func generateMockData() -> HealthManager {
let defaultHealthManager = HealthManager()
defaultHealthManager.gavePermissions = true
for i in 1...10 {
let defaultWorkout = HKWorkout(activityType: .traditionalStrengthTraining,
start: .now - Double(i * 50),
end: .now,
duration: Double(i * 100),
totalEnergyBurned: HKQuantity(unit: .largeCalorie(), doubleValue: Double(i * 100)),
totalDistance: nil,
device: nil,
metadata: nil)
defaultHealthManager.previousWorkouts.append(defaultWorkout)
}
return defaultHealthManager
}
}
基本上它显示defaultHealthManager
对象除了默认值之外没有设置任何值。如果我ContentView_Previews. generateMockData()
在运行时在实际视图中调用我的属性,它工作正常。