2.0: fix crash de arranque por IDs duplicados (CloudKit)
Fatal error "Duplicate values for key" al construir diccionarios con Dictionary(uniqueKeysWithValues:) sobre dishes/tags/slots cuyos UUID se duplican por la sincronización CloudKit de 2.0. Se sustituyen todas las ocurrencias por Dictionary(_, uniquingKeysWith:) para tolerar duplicados (se conserva el primero) en lugar de abortar. La app ya no crashea al abrir con datos duplicados; la deduplicación real queda pendiente aparte. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A3HaWmmtTQ1vdTERtSYU6p
This commit is contained in:
@@ -344,7 +344,7 @@ struct WeekCalendarView: View {
|
||||
}
|
||||
|
||||
private func refreshDishSnapshots() {
|
||||
let liveSnapshots = Dictionary(uniqueKeysWithValues: dishes.map { dish in
|
||||
let liveSnapshots = Dictionary(dishes.map { dish in
|
||||
(
|
||||
dish.id,
|
||||
DishSnapshot(
|
||||
@@ -354,7 +354,7 @@ struct WeekCalendarView: View {
|
||||
photoData: dish.photoData
|
||||
)
|
||||
)
|
||||
})
|
||||
}, uniquingKeysWith: { first, _ in first })
|
||||
|
||||
dishSnapshotsById = dishSnapshotsById.merging(liveSnapshots) { _, new in new }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user