Forum für App entwicklung? Core Data Model frage...

E

ex2j

Neues Mitglied
Thread Starter
Dabei seit
16.11.2011
Beiträge
14
Reaktionspunkte
0
Hey, bin ich hier auch richtig für App Fragen? Wenn nein, kennt jemand gute Foren meinet wegen auch auf englisch?

Ich bastel grad an einer App. Die App soll einträge für Ausgabe entgegen nehmen, diese Abspeichern und dann auf dem andern Tab die Positionen der Kategorieren summieren und darstellen.

Den Input hab ich jetzt mit dem Helloworld Beispiel geschaft. Ich habe 3 Variablen mit den Werten. Kann mir die auch auf ein Label ausgeben. Nun will ich diese Daten speichern, habe dazu ein daten Model erstellt und eine Entity gebaut mit paar Attributen.

Was ich nun brauche , ist ein Tutorial wie ich auf diese Daten zugreifen kann schreiben und lesen. Habe einiges gefunden aber das meiste war so "alt", dass ich dinge machen soll die ich einfach nicht finde/zuordnen kann. Das fängt meist schon bei der View Art an und das ich irgend welche Harken setzten soll, die es garnicht mehr gibt :(
 
eine solche App existiert schon x-fach. Sicher, dass du das nachbasteln willst? Warum nicht etwas neues angehen?
 
Also erstmal: http://www.allposters.com/IMAGES/EPH/8394.jpg

Aber zum Thema: Das Problem ist wahrscheinlich, dass das "Window Based" Template fehlt.

Das sollte aber in den aller meisten fällen gar kein Problem sein, Du solltest bei einem normalen Core Data Tutorial auch im dem "Empty" zurechtkommen.

Das Buch von Markus Zarra gibt es für $21 bei PragProg.com, das kann ich sehr empfehlen.

Insgesamt ist es allerdings so, dass man vielleicht erstmal ein paar Basics lernen sollte, bevor man an Core Data geht. Hier sollten alle guten Tutorials sehr bald an die Templates von Xcode 4.2 angepasst sein .. sonst schick ich Dir auch ein "Window Based Template" zum kopieren.

Alex
 
Zuletzt bearbeitet:
Ja ich "muss" das für die Uni machen und da ich kaum Zeit habe will ich das machen ;). Ich hab viel Erfahrung mit Java und habe mir anfangs die Hello World aus der Xcode Doku erstellt. da drauf hin nochmal von Grund auf selber etwas ähnliches erstellt, eben meine Input Maske.

Kann jemand von hier vllt ein "mini" tutorial schreiben, was ich machen muss um mein erstelltes Daten Modell(wie gesagt nur 1 Entity), zu verwenden? Gibt es eventuell eine einfachere Möglichkeit Daten zu speichern?
 
Ja, Du kannst die Sachen einfach als NSPropertyListSerialization oder mit NSCoder auf die Platte hauen.

Aber es würde mir helfen wenn ich wüsste, wo genau Du Probleme hast. Ich habe unmöglich Zeit, Dir jetzt ein Tutorial zu schreiben. Und "mini" wird das nicht werden (Das sieht so aus: Wähle "File->New…->New File…", dann links Core Data, rechts Data Model. Dann klick denn "Add Entity" Button. Mini genug?)

Alex
 
Dieses Tutorial funktioniert auch, wenn Du statt "Windows Based" das "Empty" Template nimmst.

Es gibt einen winzigen Unterschied beim Code für den Application Delegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

RootViewController *rootViewController = [[RootViewController alloc]
initWithStyle:UITableViewStylePlain];

NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
// Handle the error.
}
// Pass the managed object context to the view controller.
rootViewController.managedObjectContext = context;

UINavigationController *aNavigationController = [[UINavigationController alloc]
initWithRootViewController:rootViewController];
self.navigationController = aNavigationController;

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];

[rootViewController release];
[aNavigationController release];

return YES;
}


Sonst sollte alles gleich sein.

Alex
 
Ich hab jetzt Screenshots gemacht, einmal zwecks Übersicht von dem Mainstoryboard, dann von dem Datenmodel und dann von der Action Methode. Die markierten Attribute möchte ich jetzt in meinem Datenmodel abspeichern.

Ich habe bisher das Coredata fromework hinzugefügt und auch in der Prefix.pch Datei importiert.

Jetzt muss ich an einer Stelle die 3 Methoden des Core Data Stacks deklarieren und implementieren wenn ich das richtig verstanden habe. Nur an welcher Stelle? AppDelegate ist so wie ich das verstehe nur als Einstieg gedacht. Wirklich was passieren tut ja bisher nur auf der FirstView etwas.
Dort in der Action Methode sollen ja die Daten auch in die Tabelle geladen werden, deshalb denk ich die müssen da hin, was muss aber in der Methode wirklich rein?

EDIT
Bilder sind sehr unscharf hier nochmal bei imageshack
http://img27.imageshack.us/img27/7103/bildschirmfoto20111116u.th.png

http://img401.imageshack.us/img401/7103/bildschirmfoto20111116u.th.png

http://img535.imageshack.us/img535/7103/bildschirmfoto20111116u.th.png
 

Anhänge

  • Bildschirmfoto 2011-11-16 um 3.07.43 PM.jpg
    Bildschirmfoto 2011-11-16 um 3.07.43 PM.jpg
    75,8 KB · Aufrufe: 87
  • Bildschirmfoto 2011-11-16 um 3.06.08 PM.jpg
    Bildschirmfoto 2011-11-16 um 3.06.08 PM.jpg
    74,8 KB · Aufrufe: 90
  • Bildschirmfoto 2011-11-16 um 3.04.45 PM.jpg
    Bildschirmfoto 2011-11-16 um 3.04.45 PM.jpg
    73,2 KB · Aufrufe: 77
Zuletzt bearbeitet:
Nach welcher Anleitung gehst Du vor?

Gruss

Alex
 
Ich hab ein Buch vor mir liegen, dass leider davon ausgeht, dass "alle" wichtigen Methoden schon von xcode generiert wurden. Der Autor erläutert diese Methoden gerade. Dr Dirk Koller iphone apps entwickeln 2. Auflage
 
Und der fängt an mit Storyboards? Ernsthaft? Mmmmkay

Das Buch habe ich hier nicht vorliegen. Was hältst Du davon, dass Du einmal das Apple Tutorial durchgehst? Dann weiss ich, was die von Dir wollen

Gruss

Alex
 
Ne pass auf ich bin da wie folgt ran gegangen.
1. Helloworld Datei aus der Xcode Dokumentation erstellt. Dort wurde alles ausführlich erläutert, eben auch mit einem Storyboard.
2. Als das Ding lief habe ich das gleiche Programm nochmal ausm Gedächnis geschrieben mit anderen Objekten, eben 3 Textfeldern 1 Button, so wie ich es für meine App benötige.

3. Dadrauf aufbauent will ich jetzt die Daten "einfach" speichern
4. sollte das Klappen will ich auf der 2. Seite(hab diese Tab Variante genommen) die Ausgabe über eine Liste ausgeben.
 
Wirklich ehrlich: Nimm das Apple Tutorial. Lass das mit Storyboard, das verwirrt Dich eher als das es Dir nützt.

Alex
 
dachte das ist nötig um die UI Elemente zu platzieren usw?
 
Nö. Das ist jetzt Apples neueste Erfindung, gibt es erst seit iOS 5 und Xcode 4.2.

Die wenigsten Tutorials setzen die ein, daher halte ich das für einen Anfänger für verwirrend.

Alex
 
Hab das Tutorial von deinem Link durch gearbeitet(bzw alles brav eingefügt...) läuft aber nicht kommen Fehler. Ich wüsste so auch nicht, wie ich da meine app drauß stricken soll. Ich mach lieber alles step by step. Kann doch nicht so n Drama sein meine App um eine Speichermöglichkeit zu erweitern -.-

Sitz heut schon seit 9Uhr vor der Kiste und versuch das hin zu kriegen aber ich bin kaum vorran gekommen.
 
So ist das beim Entwickeln... Zu glauben, Du könntest Dir in einem Tag Core Data beibringen ist sehr ambitioniert.

Was für Fehler kommen denn? Lad Dein Projekt doch mal hoch

Alex
 
Ja mir gehts ja garnicht unbedingt dadrum Core Data zu durch blicken... ich hab einfach 3 Einträge die ich Speichern will. Ich hab einfach den Quelltext von dem Tutorial kopier, so wies da steht. Ist übrigens n tolles Tutorial. kopieren sie die Zeilen und diese und diese.

Ich will halt garkeine Table benutzen so wie in den Beispielen. Einfach mein bisherigen Kram bei behalten und die Variablen Speichern, so dass ich sie mir auf der 2ten View Aufsummiert nach Kategorie anzeigen lassen kann. Das wars Ende. Gibt für das Fach 3 Credits und ich hab schon 20h gebraucht um OS X auf meinem PC zum laufen zu kriegen :p
 
Also, Daten kannst Du speichern mit NSPropertyListSerialization. Da kannst Du eine beliebige Kombination aus NSArray, NSDictionary, NSString, NSNumber und NSData reinstopfen.

Mit iOS geht auch NSJSONSerialization.

Von Java bekannt dürfte Dir Serialization sein, das geht bei Cocoa mit dem NSCoder Protokoll.

Alle diese Dinge sind für zwei, drei Daten viel, viel leichter als CoreData

Alex
 
Ich brauch aber schon eine typische Entity. Sprich ein Datzensatz besteht aus mindestens den Attributen Zweck String und Betrag Double. Optional soll man noch Datum und einen Hinweis dazu abspeichern. Für schnickschnack den ich einbauen würd, wenn ich Zeit habe. Erstmal muss aber die Basis stehn

Außerdem muss ich die Agregatfunktion für die Aufsummierung benutzen können. So ne query: select SUM(betrag) group by betrag from position; Den Rückgabewert will ich dann auf der 2ten View anzeigen lassen. Was denkst du ist am einfachsten um das zu realiseren?
 
SQLite?

Warum brauchst Du eine "typische Entity"? Was ist "typisch"?

Alex
 
Zurück
Oben Unten