• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Details für Tableview Item

  • Ersteller Ersteller Mitglied 105287
  • Erstellt am Erstellt am

Mitglied 105287

Gast
hallo,
ich hab mich mal ein bisschen an xCode versucht und eine kleine app mithilfe dieses tutorials gebastelt:
http://www.iphonesdkarticles.com/2009/03/uitableview-drill-down-table-view.html

dabei geht es um das erstellen eines tableviews mit einer plist datei. in diesem beispiel werden drei fenster angezeigt:
alserstes kann man auf einem tableview zwischen item1, item 2, item3 usw. wählen. hat man z.b. item1 ausgewählt, kommt wieder eine auswahl zwischen screenA, screenB, screenC usw.. wählt man nun eins davon aus kommt man auf ein detailview.

was ich jetzt gerne machen würde ist den detailview anzupassen und dort etwas anzuzeigen, jenachdem was vorher ausgewählt wurde.
ungefähr so:

if item1 is selected AND screenA is selected then
lbl.text = @"du hast item1 und screenA ausgewählt";


meine frage ist also wie ich abfragen kann was ausgewählt wurde.
um das vllcht besser zuverstehen ist hier der sourcecode des tutorials:
http://sites.google.com/site/iphonesdktutorials/sourcecode/DrillDownApp.zip?attredirects=0

ausserdem habe ich 2 bilder gemacht um zu veranschaulichen wie ich es meine:

wie es momentan ist:
gotb[1].png



wie ich es haben möchte:



wanto[1].jpg


mfg
 
Ich würde den nachfolgenden ViewControllern immer einen Wert mit übergeben wenn du sie aufrufst.
Normal zeigt eine darauffolgende View ja immer die Werte passend zu dem gewählten Eintrag an.


Nehmen wir mal an, ist eine Auswahl verschiedener Objekte die dein App verwalten/darstellen soll.
Das Untermenu könnte dann für 3 verschiedene Ansichten des Objekts stehen.

Gibst du also z.B. dem Untermenu-Controller eine property representedItem und übergibst diese vom rootViewController beim Aufruf,
kannst du im Untermenu-Controller mit self.representedItem darauf zugreifen.

Dem DetailViewController gibst du nun ebenfalls eine property representedItem und zusätzlich eine property displayMode.
Wenn der nun A, B oder C gedrückt wird, übergibst du self.representedItem an representedItem des DetailviewControllers
und zusätzlich setzt du den entsprechenden DisplayMode auf A, B oder C.

Im DetailViewontroller kannst du nun auf Eigenschaften des self.representedItems zurückgreifen, Sei es ein Name oder andere Eigenschaften.
Ebenso kannst du über self.displayMode abfragen auf welche Weise das Item (oder welche Details von ihm) dargestellt werden soll.

Wenn die Items als Testzweck nur NSStrings "Item 1", "Item 2" usw, und der DisplayMode einfach ein NSString mit "Screen A", "Screen B" oder "Screen C" ist ,
kannst du somit auch recht einfach deinen obigen Wunsch ausgeben lassen:

Einfach ein Label in die Detailview und dann mit
self.label.text = [NSString stringWithFormat:@"Du hast %@ und %@ ausgewählt", self.representedItem, self.displayMode];
den Text zuweisen.
 
Hallo,

danke für deine hilfe. ich hab es jetzt ein bisschen umgebaut ohne plist und jetzt zeigt er auch das richtige an je nachdem was man gewählt hat.

jetzt hab ich noch eine frage und zwar wie ich zwei sachen in einer zeile anzeigen kann. folgendermaßen sieht es jetzt aus:

Bildschirmfoto 2011-04-20 um 18.52.22.png

jetzt soll rechtsbündig neben von, bis usw noch etwas anderes stehen. diese sind bisher so eingefügt

NSArray *countriesToLiveInArray = [NSArray arrayWithObjects:@"Von", @"Bis", @"Dauer", @"Tage bis", @"Zum Homescreen", nil];
NSDictionary *countriesToLiveInDict = [NSDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

mfg