blog

13 krok w aplikacji TAX FREE

25 kwietnia 2017

Jak pewnie oglądający zauważyli, w widoku DetailView z poprzedniego wpisu brakuje paska menu. I tu rada dla siebie i innych początkujących: ZAWSZE czytać dokumentację producenta! DetailView generuje się „w standardzie” z TableView, ale nie zawiera NavigationBar, ponieważ kontroller widoku modalnego nie jest dodawany do stosu nawigacji. Oczywiście trzeba dodać go ręcznie. Reszta zmian wkrótce. Teraz przyszedł czas na bazę danych.

Jak w aplikacji jest mało danych, które trzeba zapisać to można skorzystać z prostego rozwiązania do przechowywania danych – local storage i NSCodingu – protokołu umożliwiającego szybkie archiwizowanie obiektów i innych struktur. Archiwizowane obiekty można zapisać na dysku i pobrać później.

Ja chcę pójść o krok dalej i skorzystać z lokalnej bazy danych.

W systemie iOS dwie podstawowe technologie zapisu pamięci masowej dostępne dla programistów: Core Data i SQLite. Obie technologie mają zalety i wady w zależności od ilości i typu danych, które mają być przechowywane i zarządzane.

Core Data koncentruje się na obiektach, a nie na tradycyjnych podejściach opartych na tabelach. Podczas przechowywania danych przechowuje się zawartość obiektu, gdy obiekt jest reprezentowany przez klasę.

SQLite jest otwartą, lekką, z dobrym wsparciem, wieloplatformową, relacyjną bazą danych. SQLite przechowuje dane w tabelach, w których tabela zawiera jedną lub więcej kolumn, każda kolumna zawiera dane dla określonego typu danych.

SQLite:

  • SQLite jest lekki.
  • SQLite używa mniej pamięci i przestrzeni dyskowej.
  • SQLite może być żmudny i podatny na błędy kodu.
  • SQLite jest obsługiwany na Androidzie i Microsoft Windows Phone.

Core Data:

  • Potrzeba więcej czasu żeby go zrozumieć i nauczyć się.
  • Łatwiej pracuje się z obiektami.
  • Podstawowe informacje do przechowywania są obsługiwane automatycznie dzięki iCloud.

Ponieważ chcę w przyszłości przepisać tę apkę na Android, więc wybieram SQLite. Teraz trzeba przebrnąć przez tutoriale.

Tagi: ,

iPhone_MelaStudio
 
RSS GitHub PinterestFacebook
email: contact@melastudio.pl
2018 © by MelaStudio