• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Welchen Datentyp für Vokabeln (Vokabeltrainer) verwenden?

belinea

deaktivierter Benutzer
Registriert
12.07.08
Beiträge
351
Ich mochte einen kleinen simplen Vokabeltrainer erstelln. Ich stehe jetzt vor der Wahl mein Wörterbuch in einem mehrdimensionalen Array oder in einem Dictionary abzuspeichern.

Könntet ihr mir einen Datentyp empfehlen den ich verwenden sollte?
 

belinea

deaktivierter Benutzer
Registriert
12.07.08
Beiträge
351
Ich werde SQLite verwenden. Erstens da ich mit der SQL Syntax schon vertrautbin und zweitens da ich bei CoreData ein ungutes Gefühl habe völlig ausgeliefert zu sein auf ein völlig geschlossenes Format.

Bei einer Datenbank habe ich immer Zugriff auf meine Daten und kann die auch mit andere Tools verändern.

Bei CoreData wäre ich völlig Abhängig von Apple.

Aber eine gute Idee erst gar kein festes Array zu verwenden das in Sourcecode steht. Mit einer Datenbank lässt sich mit wenig Aufwand eine Wörterbuch-Verwaltung nachrüsten.
 

Marcel Bresink

Hadelner Sommerprinz
Registriert
28.05.04
Beiträge
8.573
Ich werde SQLite verwenden. Erstens da ich mit der SQL Syntax schon vertrautbin und zweitens da ich bei CoreData ein ungutes Gefühl habe völlig ausgeliefert zu sein auf ein völlig geschlossenes Format.

Da hast Du etwas missverstanden.

Gefragt war doch nach einer Datenstruktur bei der Programmierung in einer Swift-Umgebung. SQLite ist aber keine Datenstruktur.

CoreData stellt ein objektorientiertes Datenmodell zur Verfügung, mit dem man große Datenmengen unabhängig vom konkreten Format, in dem die Daten später in Dateien verwandelt werden ("Persistenz"), im Programm handhaben kann. Standardmäßig speichert CoreData die Dateien wahlweise in einem eigenen Binärformat, in XML oder in einer SQLite-Datenbank ab.
 
  • Like
Reaktionen: belinea

belinea

deaktivierter Benutzer
Registriert
12.07.08
Beiträge
351
Achso. Dann hätte ich schon CoreData verwenden können und würde trotzdem an die Daten kommen (per XM oder SQLite).

Jetzt habe ich es mit FMDB und einer SQLite Datenbank gelöst. Wäre mit CoreData wohl nochmals um einiges schneller und mit deutlich weniger Code gegangen.
 

belinea

deaktivierter Benutzer
Registriert
12.07.08
Beiträge
351
Meine Abneigung zu CoreData hat sich voll bestätigt.

Ein bestehendes Datenbank Modell zu verändern gleicht einem Ritt durch die Hölle. Einer Entity eine neue Attribute hinzuzufügen (wenn schon Daten vorhanden sind) der Entity geht nur mit riesigem Aufwand oder dem löschen des ganzen Datenbestandes.

Unter SQL füge ich einfach ein neues Field ein und fertig.

Von CoreData bin ich erstmal geheilt.
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Ein bestehendes Datenbank Modell zu verändern gleicht einem Ritt durch die Hölle. Einer Entity eine neue Attribute hinzuzufügen (wenn schon Daten vorhanden sind) der Entity geht nur mit riesigem Aufwand oder dem löschen des ganzen Datenbestandes.
Nun, wenn du Core Data als Datenbank betrachtest, wirst du dich damit immer schwer tun, denn Core Data ist nun mal keine Datenbank. Um bestehende Datenmodelle zu verändern bietet Core Data auch Versionierung und Datenmigration.