• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Probleme mit Array in unterschiedlichen Klassen EILT

Amon89

Erdapfel
Registriert
22.04.10
Beiträge
5
Hallo ihr Lieben,

mein erster Beitrag in diesem Forum:
Ich habe eine Frage bzw. ein Problem mit einem Array.
Nur kurz zu meinem App. Ich lese Daten aus einer SQLite-Datenbank aus und schreibe diese in ein Array.
Dies passiert im ErstenViewController. Im ZweitenViewController will ich die Daten, die zu diesem Zeitpunkt im Array stehen, in eine TableView eintragen. Allerdings funktioniert das übergeben nicht.
Wenn ich im ErstenViewController ein NSLog auf das Array mache, sehe ich die Daten. Soweit alles korrekt. Allerdings kann ich im dann im ZwitenViewController nicht darauf zugreifen.
Ich bin noch ein Anfänger in der iPhone-Programmierung und wäre über Antworten für DAUs sehr erfreut.

Im Vorraus schon mal vielen Dank.
Gruß
Micha
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Wieso nimmst Du nicht den ersten View Controller zum befüllen des TableViews?
 

Amon89

Erdapfel
Registriert
22.04.10
Beiträge
5
Also ich habe in der dem ErstenViewController auch eine Tablelle, die ich befülle. Kann ich dann noch eine zweite Liste befüllen mit dem selben ViewController?
Also noch konkreter:
Ich habe in meinem ErstenViewController ein TableView. In diesem stehen Fußballligen. Wenn man eine Liga ausgewählt hat, wird eine Routine durchlaufen und die Ergebnisse der gewählten Liga sollen in einem 2. TableView angezeigt werden.
Also habe ich meine ErstenViewController mit entsprechenden Ligaeinträgen und der Routine zum Auslesen der Datenbank und meinen ZweitenViewController, der die 2. Liste füllen soll mit den Ergebnissen aus der Routine.
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Das erscheint mir etwas unlogisch. Die Daten, die Du im zweiten ViewController benötigst, lädst/erzeugst Du im ersten ViewController, obwohl die dort gar nicht gebraucht werden?

Ich aber einen ArrayController als alleinige Datenquelle verwendet. Mit dem lassen sich auch die TableViews in verschiedenen Views befüllen. (Tabellenspalten über Bindings an den ArrayController anbinden).
 

Amon89

Erdapfel
Registriert
22.04.10
Beiträge
5
Also das hat sich so ergeben :)
Im ErstenViewController habe ich ja die Ligen. Und über die If-Abfrage
if ([[tableList objectAtIndex:indexPath.row] isEqual:mad:"Liga 1"])
prüfe ich ob der eintrag "Liga 1" berührt wird. Danach habe ich meine Routine geschrieben.
Wie ich im ZweitenViewController prüfe, was berührt wurde, wusste ich nicht. Deshalb habe ich eben im 1. gemacht.
Wie gesagt ich kenne mich nicht sehr gut bis fast gar nicht aus :)

Das mit dem befüllen von einem Controller hört sich aber gut an. Wie kann ich das denn genau machen?
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Dann empfehle ich einfach mal den Hillegass als Einstiegsliteratur. Auf der verlinkten Seite kannst Du Dir auch den Beispielcode zum Buch runterladen. Dort wird z.B. in der RaiseMan-Applikation ein ArrayController verwendet.
 

Amon89

Erdapfel
Registriert
22.04.10
Beiträge
5
Also da komm ich schon nicht mehr mit. Vielleicht ist der ArrayController nicht das richtige.
Mein größtes Problem ist, dass ich die Arbeit bis spätestens 30.04. abschließen muss.
Besser wäre gestern :)
Ich habe mir überlegt, dass ich ja auch ein NSString mit dem Text "Liga 1" fülle, wenn "Liga 1" berührt wird.
Diesen NSString könnte ich ja dann im ZweitenViewController verwenden, um wieder eine Bedingung zu schreiben, der die Datenbank ausliest.
Allerdings scheitere ich mal wieder an dieser simpelen Aufgabe! Es ist zum Schreien!
Befüllen des NSStrings kein Problem.
Wenn ich jetzt allerdings im ZweitenViewController darauf zugreifen will mit:
if (nsstring = "Liga 1") { bla }
sagt er, dass nsstring nicht deklariert ist.
:(
 

LittlePixel

Strauwalds neue Goldparmäne
Registriert
09.07.08
Beiträge
641
Hallo,

if (nsstring = "Liga 1") { bla }
Das ist nicht annähernd Cocoa/Objective-C.

Dur wirst, wie Bananenbieger schon sagte, um Einsteigerliteratur nicht herum kommen.

Viele Grüße
 

Amon89

Erdapfel
Registriert
22.04.10
Beiträge
5
HA!
Habe es selber hin bekommen.
Aber trotzdem danke für Eure Mühen.

Gruß Micha
 

Poljpocket

Salvatico di Campascio
Registriert
07.01.07
Beiträge
432
Die Literatur würde trotzdem nicht schaden... :)

Gruss ppocket