Als kleine CoreData Übung habe ich mir ein Tool gebaut, welches Java Class Namen aus Jars extrahiert und mir eine Suchfunktion über Namen und Packages bietet.
Oftmals baut man ein Projekt, welches zwar wunderbar kompiliert, aber spätestens im Betrieb dann zu einer ClassNotFound Exception führt, weil man doch wieder ein Jar im Deployment vergessen hat.
Das CoreData Modell ist ganz einfach: es gibt eine Class Entity und eine Jar Entity, wobei ein Jar mehrere Classes enthält (natürlich gibt es auch die Umkehrbeziehung).
Im Gui habe ich jetzt einen Drawer (siehe Screenshot) gebaut, in dem ich einzelne Jars ein- oder ausschalten kann (eine Property der Jar Entity).
Auf dem ArrayController, der die Classes im TableView kontrolliert, ist ein Predicate eingetragen: zeige nur die an, wo JarFile.useIt == YES ist. Dieses Predicate wird beim Start der Anwendung auch benutzt.
Aber wie bekomme ich es hin, dass sich Änderungen im Drawer "live" auf den TableView auswirken?
Imho ist Key-Value Observing schon die passende Richtung... mir fehlt nur noch der genaue Kurs
Viele Grüsse,
Christian
Oftmals baut man ein Projekt, welches zwar wunderbar kompiliert, aber spätestens im Betrieb dann zu einer ClassNotFound Exception führt, weil man doch wieder ein Jar im Deployment vergessen hat.
Das CoreData Modell ist ganz einfach: es gibt eine Class Entity und eine Jar Entity, wobei ein Jar mehrere Classes enthält (natürlich gibt es auch die Umkehrbeziehung).
Im Gui habe ich jetzt einen Drawer (siehe Screenshot) gebaut, in dem ich einzelne Jars ein- oder ausschalten kann (eine Property der Jar Entity).
Auf dem ArrayController, der die Classes im TableView kontrolliert, ist ein Predicate eingetragen: zeige nur die an, wo JarFile.useIt == YES ist. Dieses Predicate wird beim Start der Anwendung auch benutzt.
Aber wie bekomme ich es hin, dass sich Änderungen im Drawer "live" auf den TableView auswirken?
Imho ist Key-Value Observing schon die passende Richtung... mir fehlt nur noch der genaue Kurs

Viele Grüsse,
Christian
