Munkavégzés alapadatok (fordítás)
Gratulálunk! Mostanra már létrehozott egy egyszerű alkalmazás a felhasználóktól, hogy a kedvenc éttermek. Ha dolgozott a korábbi gyakorlat, meg kell érteni az alapokat, hogy hogyan adjunk egy étteremben. Megpróbáltam, hogy egyszerűsítse a folyamat, és elsősorban az alapokat UItableView. Eddig a pontig minden étteremben került előre a forráskód és tárolni a tömbben. Ha azt szeretnénk, hogy mentse az étterem, a legegyszerűbb módja az, hogy egy új étterem a meglévő tömb éttermek.
Azonban, ha hagyja, hogy akkor nem lehet menteni egy új étterem. Retenciós adatokat a memóriába (például tömb) nem stabil. Ha bezárjuk az alkalmazást, az összes változtatást fog tűnni. Meg kell találni a módját, hogy tárolja az adatokat állandó formában.
Az adatok mentéséhez állandó formában, akkor meg kell menteni őket egy állandó tároló vagy tárol. Például az adatok tárolásának az adatbázisban, az adatokat biztonságos lesz akkor is, ha az alkalmazás leállt, vagy nem. Files - egy másik módja annak, hogy mentse az adatokat, de azok tárolására alkalmas kis mennyiségű adatot igénylő gyakori változások. Például fájlok általánosan használt tárolására alkalmazás beállításait. Ha megnyitja a mappát Support Files a projektben navigátor, akkor megtalálja a info.plist fájlt. Ez tulajdonságok fájl tárolására használt projekt beállításait.
FoodPin alkalmazás kell tárolni ezer rekordot éttermek. A felhasználók is gyakran hozzáadni vagy eltávolítani adatállományok éttermek. Ebben az esetben az adatbázis - ez a helyes megoldás nagy adathalmaz. Ebben a fejezetben azt fogja mondani, a Core adatok szerkezetét és azt mutatják, hogyan kell használni az adatok kezeléséhez az adatbázisban. Azt, hogy egy csomó változás, hogy egy meglévő projektet, de miután a folyosón ebben a fejezetben, az alkalmazás lehetővé teszi a felhasználók, hogy megmentsék a kedvenc éttermében.
Mi Core Data?
Amikor arról beszélünk, állandó adatokat, akkor valószínűleg úgy gondolja, az adatbázisok. Ha ismeri az Oracle vagy MySQL, akkor tudja, hogy a relációs adatbázis tárolja az adatokat táblázatok, sorok és oszlopok. Az alkalmazás hozzáfér az adatbázishoz SQL (Structured Query Language) lekérdezés. Azonban ne keverjük össze az alapadatokat adatbázisokkal. Bár SQLite adatbázis egy állandó tároló alapértelmezésben Core adatainak IOS. Core adatok nem éppen egy relációs adatbázis - valójában ez egy olyan platform, amely lehetővé teszi a fejlesztők számára, hogy kölcsönhatásba az adatbázis (vagy más tartós tárolás) objektum-orientált módon.
Vegye FoodPin alkalmazás példaként. Ha azt szeretnénk, hogy mentse az adatokat az adatbázisban, akkor a felelős kódírás kapcsolódni az adatbázishoz, és letölteni vagy frissíteni az adatokat SQL. Ez nehézkes lenne a fejlesztők számára, különösen azok számára, akik nem ismerik az SQL.
Core adatok egy egyszerű módja annak, hogy mentse az adatokat a tartós boltban választott. Össze lehet hasonlítani a tárgyakat az alkalmazások egy táblát az adatbázisban. Egyszerűen fogalmazva, ez lehetővé teszi, hogy kezelje bejegyzések (select / betét / frissítés / törlés) az adatbázis ismerete nélkül SQL.
Core adatok Stack
Mielőtt elkezdjük a projekten, meg kell először kap egy alapvető ismereteket az alapadatokat Stack. Nézd meg a képet.
Úgy néz ki, nehéz, ugye? Határozottan. Ezért IOS 10 bevezet egy új osztályát NSPersistentContainer. amely egyszerűsíti a menedzsment egy köteg törzsadatok az alkalmazások. NSPersistentContainer - osztály, akivel akkor foglalkozunk tárolására és visszakeresésére adatait. Zavaros? Ne aggódj. Meg fogják érteni, hogy mire gondolok, amikor azt fogja átalakítani FoodPin alkalmazás tömbök a Core adatok.
Az alapadatok minta
A legegyszerűbb módja, hogy használja Core adatok - többek között Core adat opciót létrehozásakor a projekt. Xcode fog generálni a szükséges kódot AppDelegate.swift és hozzon létre az adatmodell erre.
Ha létrehoz CoreDataDemo projekt lehetőséget Core Data, látni fogja a következő változók és a módszer által generált az osztályban AppDelegate:
A generált kód biztosítja a változók és módszerek:
- A változó egy-egy példánya persistentContainer NSPersistentContainer és inicializálja állandó adattár nevű CoreDataDemo. Később, akkor használja ezt a változót, hogy befolyásolja a Core adatok verem.
- saveContext () eljárás olyan adatok tárolására. Mikor kell beszúrni / update / törli az adatokat a tartós boltban, akkor hívja ezt a módszert.
Ha Core Adatok a régi verziót a Xcode, meg kell találni, hogy a generált kód már jelentősen egyszerűsödött. NSPersistentContainer magában az alapadatok verem és egyszerű módja annak, hogy az alapadatok.
A kérdés az, hogyan tudjuk használni ezt a sablont kódot a meglévő projekt Xcode. Mi lehet egyszerűen másolja be a kódot AppDelegate.swift a projekt, de szükség lesz arra, hogy kisebb változtatásokat.
A forráskód sablont hoztak létre CoreDataDemo projekt. Xcode felhívja SQLite fájlnév és a adatmodellt a projekt nevét. Mert FoodPin CoreDataDemo projekt írása helyett a nevét a FoodPin. Ezért, a változás a következő kódot sort a következő:
Végül hozzáadjuk a behozatali nyilatkozat elején osztály AppDelegate. lehet importálni. Core adatok keret:
Megjegyzés: Tájékoztatásul közöljük, akkor is letölthető a projekt sablont. hogy folytassa.