Section 16/181 menit
16. Kapan Tidak Digunakan
16. Kapan Tidak Digunakan
- SwiftData untuk data besar (>1GB): SQLite via SwiftData tidak cocok untuk dataset sangat besar. Pertimbangkan custom SQLite atau GRDB.
- CloudKit sync untuk multi-user: CloudKit SwiftData hanya untuk data per-user di iCloud. Untuk shared/collaborative data, butuh custom backend.
- @Attribute(.unique) dengan CloudKit: Tidak kompatibel — CloudKit tidak support unique constraint.
- Fetch semua data untuk search: Jangan fetch 10.000 records lalu filter di Swift. Gunakan
#Predicateyang di-translate ke SQL. - ModelContext lintas thread tanpa ModelActor: Data race. Selalu buat context baru per-thread atau gunakan
@ModelActor. - VersionedSchema untuk perubahan minor: Rename property dengan
originalNametidak butuhVersionedSchema— hanya untuk perubahan yang butuh data transformation. - SwiftData untuk cache data sementara: Untuk data yang tidak perlu persist (cache response API selama session), gunakan in-memory store atau dictionary.