Fix build errors: Self.kXxx refs and MainActor isolation
- Remove leftover Self. prefix on instance storage keys in save() - Mark TaskViewModel and WorkoutViewModel @MainActor so init() can safely access AuthManager.shared without isolation violations Co-Authored-By: Kutesir <tqwyy79vzn@privaterelay.appleid.com>
This commit is contained in:
@@ -170,6 +170,7 @@ let exerciseSFSymbol: [String: String] = Dictionary(
|
|||||||
)
|
)
|
||||||
|
|
||||||
// MARK: - Workout View Model
|
// MARK: - Workout View Model
|
||||||
|
@MainActor
|
||||||
class WorkoutViewModel: ObservableObject {
|
class WorkoutViewModel: ObservableObject {
|
||||||
@Published var programs: [WorkoutProgram]
|
@Published var programs: [WorkoutProgram]
|
||||||
@Published var schedule: [Int: UUID]
|
@Published var schedule: [Int: UUID]
|
||||||
@@ -278,12 +279,12 @@ class WorkoutViewModel: ObservableObject {
|
|||||||
|
|
||||||
private func save() {
|
private func save() {
|
||||||
if let data = try? JSONEncoder().encode(programs) {
|
if let data = try? JSONEncoder().encode(programs) {
|
||||||
UserDefaults.standard.set(data, forKey: Self.kPrograms)
|
UserDefaults.standard.set(data, forKey: kPrograms)
|
||||||
}
|
}
|
||||||
let schedDict = schedule.reduce(into: [String: String]()) { $0[String($1.key)] = $1.value.uuidString }
|
let schedDict = schedule.reduce(into: [String: String]()) { $0[String($1.key)] = $1.value.uuidString }
|
||||||
UserDefaults.standard.set(schedDict, forKey: Self.kSchedule)
|
UserDefaults.standard.set(schedDict, forKey: kSchedule)
|
||||||
UserDefaults.standard.set(activeProgramId.uuidString, forKey: Self.kActivePid)
|
UserDefaults.standard.set(activeProgramId.uuidString, forKey: kActivePid)
|
||||||
UserDefaults.standard.set(workoutDates, forKey: Self.kWorkoutDates)
|
UserDefaults.standard.set(workoutDates, forKey: kWorkoutDates)
|
||||||
}
|
}
|
||||||
|
|
||||||
func logWorkoutCompleted(on date: Date = Date()) {
|
func logWorkoutCompleted(on date: Date = Date()) {
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ enum TaskColor: String, Codable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Task View Model
|
// MARK: - Task View Model
|
||||||
|
@MainActor
|
||||||
class TaskViewModel: ObservableObject {
|
class TaskViewModel: ObservableObject {
|
||||||
@Published var tasks: [TaskItem]
|
@Published var tasks: [TaskItem]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user