Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>CoreData Modell programmatisch nutzen

CoreData Modell programmatisch nutzen

seaside23.07.0603:10
Habe heute mal einige Stunden einen kleine CoreData Anwendung gebaut - http://www.turingart.com/downloads/CoCoaCash.zip -, die soweit schon ganz ordentlich funktioniert. Modell-Erzeugung und IB Bearbeitung ist nicht das Problem.

Da ich neu in CoreData eingestiegen bin, ist mir noch nicht klar, wie ich meine Modelldatan per Programm bearbeiten kann.

Beispiel: Ich habe eine Entities namens Transactions, denen ein Betrag als Attribut zugeordnet ist. Für die aktuell ausgewählten Transactions benötige möchte ich die Summe berechnen. Aber wie?

Hat jemand vielleicht einen Hinweis auf Documnetation oder ein Beispiel-Projekt rumliegen? Im Grunde genommen suche ich nach dem Einstiegspunkt zu den aktuellen Daten.

Muss ich den fraglichen ArrayController per Outlet an ein Objekt übergeben?
0

Kommentare

Mendel Kucharzeck
Mendel Kucharzeck23.07.0604:09
Hi,

du kannst pro CoreData-Objekt von einem normalen ObjC-Objekt ableiten, in dem du dann Logik implementieren kannst, wie zum Beispiel eine Summen-Funktion!

Voraussetzung ist, dass das ObjC-Objekt, welches du in dem CoreData-Modell einbinden willst, von NSManagedObject abgeleitet ist!

Grüße,
Mendel.
0
seaside23.07.0604:22
Thx! Aber noch spät wach...

OK, habe zwischenzeitlich herausgefunden, dass das kein CoreDate sondern ein Key-Value-Coding thema ist.

Dieser Selector tut's für mich: @sum.trAmount . Also gar kein Code erforderlich. Nett!

Soweit so gut! Nun soll ein NSTextField ausgeblendet werden, wenn der fragliche ArrayController keine Objekte ausgewählt hat. Der selektor für Availabiliy.hidden ist also gesucht...

Noch eine Idee?
0
Mendel Kucharzeck
Mendel Kucharzeck23.07.0604:41
Hi,

wenn du irgendwelche Berechnungen durchführen willst, ist es am besten, diese direkt im Objekt selbst durchzuführen, daher mein Ratschlag mit dem ObjC-Objekt!

Du kannst beim Textfeld die Property "hidden" auf den array-controller "arrangedObjects.@count" oder so binden, damit sollte es eigentlich gehen. Mit "enabled" geht das so!

Grüße,
Mendel.
0
seaside23.07.0604:48
OK, thx!
0
seaside23.07.0605:02
Funktioniert! Thx nochmal!

CoreData ist wirklich nett Hätte ich schon mal früher ansehen sollen...
0
Mendel Kucharzeck
Mendel Kucharzeck23.07.0605:16
Hat aber auch krasse "kinken". Z.B. ist es nicht möglich, indexe manuel zu setzen für suchen nach strings z.B., das geht ohne index EXTREM lahm. Mussten uns mit einer Hash-Table behelfen, um das in den Griff zu bekommen.
0
seaside23.07.0605:21
Ja, klar. Aber jedes Framework kann nur Standardfälle abdecken - wobei Indizes sinnvoll wären, aber in XML nicht gerade einfach/sinnvoll abbildbar sind.

Anyway, eine sinnvolle CoCoa Erweiterung.
0
seaside23.07.0605:23
Und für 6 Stunden Arbeit - ohne CoreData vorher genutzt zu haben - ist das Ergebnis nett...
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.