Hi Zusammen und schon mal vielen Dank für jeglichen Hinweis!
ich beschreib mal erst die Umgebung und dann die Frage ...
Umgebung
(1) Zwei fast identische Tableviews der eine holt sich Daten aus Core Data mit dem Boolschen Wert "Yes" der andere mit "No"
MeinsRootViewController (Wert = YES)
DeinsRootViewController (Wert = NO)
BOOL myBool = YES; // YES bedeutet, dass es sich um meinen Gegenstand handelt, den ich verliehen habe
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"verliehen == %d", [NSNumber numberWithBool:myBool]];
(2) Jeder dieser TableViews hat einen Add-Button (um einen neuen Eintrag anzulegen). In der Add-Button-Methode wird ein neuer View (vsc) aufgerufen und ein Flag (0[No] oder 1[YES]) zur Unterscheidung mitgeben. Für den TableView "MeinsRootViewController" hab ich dann folgenden Code zum Aufruf des Views eingetragen:
vsc.verliehen = [NSNumber numberWithInt:1];
(3) Der View ist quasi nur eine Grouped TableStyle. Die einzelnen Spalten rufen neue Views zum Editieren auf. Jetzt soll immer - abhängig - von dem in (2) übergebenen Wert in CoreData entweder YES oder NO abgespeichert werden. Damit kann ich sowohl den zentralen Views (siehe (2) vsc) und die Editerviews dynamisch halten (so der Plan und der Code):
if (verliehen == [NSNumber numberWithInt:1]) {
BOOL myBool = YES;
[managedStuffObject setVerliehen:[NSNumber numberWithBool:myBool]];
} else {
BOOL myBool = NO;
[managedStuffObject setVerliehen:[NSNumber numberWithBool:myBool]];
}
FRAGE/PROBLEM
irgendwo scheint ein Fehler zu sein. Im obrigen Beispiel (1-3) soll der BOOL-Wert eigentlich auf YES in CoreData abgespeichert werden und mittels Predicate siehe (1) nur dort angezeigt werden. Tatsächlich ist in dem MeinsRootViewController nichts drin und alles im "DeinsRVC" (den hab ich allerdings auch ohne Predicate - also Filter - zum Test laufen). Bin mir jetzt nicht so sicher was falsch ist.
- NSPredicate?
- Der Umgang mit NSNumber und BOOL?
- Die Übergabe der Werte in den Views?
Danke für Eure Hilfe.
ichessetoast
ich beschreib mal erst die Umgebung und dann die Frage ...
Umgebung
(1) Zwei fast identische Tableviews der eine holt sich Daten aus Core Data mit dem Boolschen Wert "Yes" der andere mit "No"
MeinsRootViewController (Wert = YES)
DeinsRootViewController (Wert = NO)
BOOL myBool = YES; // YES bedeutet, dass es sich um meinen Gegenstand handelt, den ich verliehen habe
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"verliehen == %d", [NSNumber numberWithBool:myBool]];
(2) Jeder dieser TableViews hat einen Add-Button (um einen neuen Eintrag anzulegen). In der Add-Button-Methode wird ein neuer View (vsc) aufgerufen und ein Flag (0[No] oder 1[YES]) zur Unterscheidung mitgeben. Für den TableView "MeinsRootViewController" hab ich dann folgenden Code zum Aufruf des Views eingetragen:
vsc.verliehen = [NSNumber numberWithInt:1];
(3) Der View ist quasi nur eine Grouped TableStyle. Die einzelnen Spalten rufen neue Views zum Editieren auf. Jetzt soll immer - abhängig - von dem in (2) übergebenen Wert in CoreData entweder YES oder NO abgespeichert werden. Damit kann ich sowohl den zentralen Views (siehe (2) vsc) und die Editerviews dynamisch halten (so der Plan und der Code):
if (verliehen == [NSNumber numberWithInt:1]) {
BOOL myBool = YES;
[managedStuffObject setVerliehen:[NSNumber numberWithBool:myBool]];
} else {
BOOL myBool = NO;
[managedStuffObject setVerliehen:[NSNumber numberWithBool:myBool]];
}
FRAGE/PROBLEM
irgendwo scheint ein Fehler zu sein. Im obrigen Beispiel (1-3) soll der BOOL-Wert eigentlich auf YES in CoreData abgespeichert werden und mittels Predicate siehe (1) nur dort angezeigt werden. Tatsächlich ist in dem MeinsRootViewController nichts drin und alles im "DeinsRVC" (den hab ich allerdings auch ohne Predicate - also Filter - zum Test laufen). Bin mir jetzt nicht so sicher was falsch ist.
- NSPredicate?
- Der Umgang mit NSNumber und BOOL?
- Die Übergabe der Werte in den Views?
Danke für Eure Hilfe.
ichessetoast
----
Macht's gut und danke für den Fisch
Macht's gut und danke für den Fisch