Junior
Jaké jsou způsoby ukládání dat v iOS?
sobes.tech AI
Odpověď od AI
V iOS existují následující hlavní způsoby ukládání dat:
-
UserDefaults:
- Jednoduchý způsob ukládání malých objemů dat (nastavení aplikace, uživatelská preferenční).
- Ukládá páry klíč-hodnota.
- Data jsou uložena ve formátu Property List.
- Nevhodné pro ukládání velkých nebo složitých dat.
-
Property Lists (Plist):
- Formát pro ukládání strukturovaných dat (pole, slovníky, řetězce, čísla, logické hodnoty, Data, Date).
- Data jsou uložena ve formátu XML nebo binárním formátu Plist souboru na disku.
- Vhodné pro ukládání nastavení, konfigurací nebo malých kolekcí dat.
- Nedoporučuje se pro ukládání velkého množství dat kvůli nutnosti načíst celý soubor do paměti.
-
Archivace objektů (NSCoding / NSSecureCoding):
- Umožňuje ukládání grafů objektů, které implementují protokoly
NSCodingneboNSSecureCoding. - Data jsou serializována do formátu
Dataa mohou být uložena do souboru. NSSecureCodingzajišťuje dodatečnou bezpečnost při dearchivaci.- Vhodné pro ukládání uživatelských objektů nebo datových modelů.
- Umožňuje ukládání grafů objektů, které implementují protokoly
-
Core Data:
- Výkonný rámec pro správu životního cyklu grafu objektů (vytváření, čtení, aktualizace, mazání).
- Používá SQL databázi (SQLite podle výchozího nastavení) nebo XML/binarové soubory jako perzistentní úložiště.
- Poskytuje abstrakci nad úložištěm a výkonné nástroje pro dotazy, vazby a správu verzí dat.
- Vhodné pro aplikace s velkým objemem strukturovaných dat a složitými vztahy.
-
Realm:
- Třetí strana mobilní databáze optimalizovaná pro rychlost.
- Přímo pracuje s objekty Realm, nevyžaduje mapování z ORM (jako v Core Data).
- Poskytuje reaktivní možnosti a jednoduchou migraci.
- Vhodné pro aplikace vyžadující vysoký výkon databáze a jednoduchost použití.
-
SQLite:
- Lehká SQL databáze.
- Nízkoúrový přístup k datům, vyžaduje psaní SQL dotazů.
- Vyžaduje více kódu pro implementaci ve srovnání s Core Data nebo Realm.
- Vhodné pro zkušené vývojáře, kteří potřebují plnou kontrolu nad databází.
-
Souborový systém:
- Přímé ukládání jakýchkoli dat (textové soubory, obrázky, binární data) do souborů v sandboxu aplikace.
- Používá se pro ukládání dat, která nevyžadují strukturované uložení nebo dotazy.
- Je nutné ručně spravovat cesty k souborům a operace vstupu/výstupu.
Výběr způsobu závisí na typu dat, objemu, složitosti vztahů a požadavcích na výkon.