Hey Leute!
Ich weiss, die Überschrift ist jetzt nicht besonders vielsagend...
Konnte zu meinem Problem leider keinen passenden Eintrag hier im Forum finden, also beschreib ich Euch mal mein Anliegen:
Ich arbeite gerade an einer iPhone App welche eine Art Fragenkatalog beinhaltet - ein Nachschlagewerk.
Jede Frage ist mit Schlagwörtern versehen, welche in einem TableView angezeigt werden, tippt man auf eines, sieht man im nächsten TableView eine Liste dazu passender Fragen. Danach gehts weiter zum eigentlichen Inhalt, (derzeit) ein WebView, dass mir Text anzeigt, also die Frage und die dazugehörige Antwort und Erleuterung usw...
So. Der iPhone Part funktioniert soweit.
Das ganze ist allerdings nur zum Nachschlagen gedacht, weshalb die Daten da irgendwie rein müssen. Also hab ich begonnen mir eine Mac App zu bauen, mit der man die Einträge bearbeiten kann.
Das ganze basiert eben auf Core Data, ich hab dazu folgende beiden Entities angelegt:
"Keyword" mit dem Attribut
"name" (NSString)
und der Relation
"questions" auf Question (NSSet)
"Question" mit Attributen
"number" (NSNumber)
"question" (NSString)
"text" (NSString)
und Relation
"keywords" auf Keyword (NSSet)
Das ganze habe ich dann per ArrayController im IB an TableView, TextField, ComboBox gebunden.
Ein TableView zeigt mir sämtliche Fragen im Katalog, wähle ich eine zeigen mir daneben ein TextField Fragennummer, eines die Frage, eine ComboBox die möglichen Keywords, ein TableView die zur Frage gehörenden Keywords und ein TextView den in HTML formatierten Text zur Frage an.
In einer weiteren Ansicht eines TabViews gibt's das ganze dann umgekehrt: dort zeigt ein TableView alle gespeicherten Keywords an und daneben in TextField, ComboBox und TableView die diesem Keyword zugewiesenen Fragen.
Die Idee dahinter ist: Ich lege zb eine Frage an und weise ihr dann die passenden Keywords zu oder gebe ein neues ein, falls es noch nicht vorhanden ist. Oder aber ich lege einfach ein Keyword an und weise dem dann die passenden Fragen zu. Dabei kann ein Keyword auf mehrere Fragen verweisen und eine Frage kann wiederum mit mehreren Keywords "getaggt" sein.
Jetzt mein Problem: Wenn ich jetzt zwei Fragen eintrage und denen ein gleiches Keyword zuweise, scheint es in der Liste der Keywords doppelt auf. Ich hatte ja gehofft, dass Durch die Auswahl eines Keywords in der ComboBox automatisch eine Referenz auf das bereits existierende Keyword Objekt angelegt wird, dem ist aber offensichtlich nicht so. Umgekehrt ist es natürlich genauso.
Kann ich im IB irgendwas einstellen, damit sich das Programm so verhält wie ich möchte, oder muss ich dieses Verhalten in Code schreiben? Oder hab ich da einen Denkfehler drin?
Falls es sich jemand genauer anschauen mag, hier mein Xcode Projekt:
Projekt download
Vielen Dank schon mal für jeden Hinweis!
Herzlichst,
Chris.
Ich weiss, die Überschrift ist jetzt nicht besonders vielsagend...
Konnte zu meinem Problem leider keinen passenden Eintrag hier im Forum finden, also beschreib ich Euch mal mein Anliegen:
Ich arbeite gerade an einer iPhone App welche eine Art Fragenkatalog beinhaltet - ein Nachschlagewerk.
Jede Frage ist mit Schlagwörtern versehen, welche in einem TableView angezeigt werden, tippt man auf eines, sieht man im nächsten TableView eine Liste dazu passender Fragen. Danach gehts weiter zum eigentlichen Inhalt, (derzeit) ein WebView, dass mir Text anzeigt, also die Frage und die dazugehörige Antwort und Erleuterung usw...
So. Der iPhone Part funktioniert soweit.
Das ganze ist allerdings nur zum Nachschlagen gedacht, weshalb die Daten da irgendwie rein müssen. Also hab ich begonnen mir eine Mac App zu bauen, mit der man die Einträge bearbeiten kann.
Das ganze basiert eben auf Core Data, ich hab dazu folgende beiden Entities angelegt:
"Keyword" mit dem Attribut
"name" (NSString)
und der Relation
"questions" auf Question (NSSet)
"Question" mit Attributen
"number" (NSNumber)
"question" (NSString)
"text" (NSString)
und Relation
"keywords" auf Keyword (NSSet)
Das ganze habe ich dann per ArrayController im IB an TableView, TextField, ComboBox gebunden.
Ein TableView zeigt mir sämtliche Fragen im Katalog, wähle ich eine zeigen mir daneben ein TextField Fragennummer, eines die Frage, eine ComboBox die möglichen Keywords, ein TableView die zur Frage gehörenden Keywords und ein TextView den in HTML formatierten Text zur Frage an.
In einer weiteren Ansicht eines TabViews gibt's das ganze dann umgekehrt: dort zeigt ein TableView alle gespeicherten Keywords an und daneben in TextField, ComboBox und TableView die diesem Keyword zugewiesenen Fragen.
Die Idee dahinter ist: Ich lege zb eine Frage an und weise ihr dann die passenden Keywords zu oder gebe ein neues ein, falls es noch nicht vorhanden ist. Oder aber ich lege einfach ein Keyword an und weise dem dann die passenden Fragen zu. Dabei kann ein Keyword auf mehrere Fragen verweisen und eine Frage kann wiederum mit mehreren Keywords "getaggt" sein.
Jetzt mein Problem: Wenn ich jetzt zwei Fragen eintrage und denen ein gleiches Keyword zuweise, scheint es in der Liste der Keywords doppelt auf. Ich hatte ja gehofft, dass Durch die Auswahl eines Keywords in der ComboBox automatisch eine Referenz auf das bereits existierende Keyword Objekt angelegt wird, dem ist aber offensichtlich nicht so. Umgekehrt ist es natürlich genauso.
Kann ich im IB irgendwas einstellen, damit sich das Programm so verhält wie ich möchte, oder muss ich dieses Verhalten in Code schreiben? Oder hab ich da einen Denkfehler drin?
Falls es sich jemand genauer anschauen mag, hier mein Xcode Projekt:
Projekt download
Vielen Dank schon mal für jeden Hinweis!
Herzlichst,
Chris.