NSMutableArray von einer Klasse in die andere und JSON-Parser frage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • NSMutableArray von einer Klasse in die andere und JSON-Parser frage

    Hey Leute,

    ich hab möchte ein App schreiben, die aus
    einer json datei liest und mir die Informationen in ein NSMutableArray
    speichert, soweit hab ich es, und diese Informationen sollen im Nachhinein in
    die Tabelle geschrieben werden.

    so nun zu meinem Problem, ich möchte den
    NSMutableArray in den nächsten view also zur Tabelle übertragen allerdings
    kommen die Informationen nicht an der NSMutableArray ist null egal wie ich es
    versuche. möchte in den Array in der gleichen Klasse in einer anderen Methode
    abfragen ist der auch null ob wohl die der NSMutableArray public ist. Wie
    bekomm ich den Array in die übertragen in eine neue Klasse.

    [font='&quot']die h. Datei:[/font]

    Quellcode

    1. @interface menue:UiViewController
    2. {
    3. @public NSMutableData*responseData;
    4. @public NSMutableArray* herstellerArray;
    5. }
    6. -(IBAction)boerse:(id)sender;
    7. @property (retain, nonatomic) NSMutableData* responseData;
    8. @property (retain, nonatomic) NSMutableArray* herstellerArray;
    9. @end
    Alles anzeigen

    die m datei: (das einlesen in den Array )

    Quellcode

    1. -(void)connectionDidFinishLoading:(NSURLConnection*)connection
    2. {
    3. [connection release];
    4. //ganzer string, alles was
    5. auf der http steht
    6. NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    7. self.responseData= nil;
    8. //nur der Array, der auf http steht
    9. NSArray* letzterZeilenEintrag = [(NSDictionary*)[responseString JSONValue] objectForKey:@"zeilen"];
    10. [responseString release];
    11. for(int i = 0; i < [letzterZeilenEintrag count]; i++)
    12. {
    13. //einzelne array abschnitte alles was zwischen {} steht
    14. NSDictionary* zeilen = [letzterZeilenEintrag objectAtIndex:i];
    15. NSString* artikel = [zeilen objectForKey:@"col5"]; // Artikel
    16. NSString* preis = [zeilen objectForKey:@"col7"]; // preis
    17. NSString* menge = [zeilen objectForKey:@"col6"]; // Menge
    18. NSString* hersteller = [zeilen objectForKey:@"col2"]; // hersteller
    19. [herstellerArray addObject:hersteller];
    20. }
    21. NSLog(@"array = %@", herstellerArray);
    22. [herstellerArray2 addObjectsFromArray:herstellerArray];
    23. //neuer view wird aufgerufen
    24. boerse *boerse = [[boerse
    25. alloc]initWithNibName:nil bundle:nil];
    26. boerse.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    27. [self presentModalViewController:boerse animated:YES];
    28. [boerse release];
    29. }
    Alles anzeigen


    so wie bekomm ich nun mein herstellerArray in die boerse?
    in der Börse wird auch ein Object davon erstellt :

    Quellcode

    1. menue *myMenue = [[menue alloc] init];
    2. NSLog(@"herstellerArray in Börse =%@", [myMenue herstellerArray]);


    aber die Ausgabe ist null.
    So wie ihr vielleicht bemerkt hab such
    ich meine variable sehr Kompliziert, ich weiß das es ein Parser bei JSON gibt, allerdings
    find ich bei allen Tutorials nur den Syntax:

    SBJSON *parser = [[SBJSON alloc] init];

    und ein SBJSON gibt es in meiner lib nicht.
    ich benutze die Version JSON_2.3 (ich finde den Download link nicht, er scheint
    down zu sein). Hat jemand ein tutorial wie ich mit dieser Version den Parser
    benutze? Allerdings ist das nur nebensächlich denn dies funktioniert ja
    provisorisch. Mir geht es wirklich hauptsächlich darum wie in den Array von
    einer Klasse in die nächste bekomm.

    Danke fürs durchlesen und ich hoffe ihr
    könnt mir helfen :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von yannig7 ()

  • Eine Möglichkeit ?

    Quellcode

    1. im BoerseViewController
    2. @property (nonatomic, retain) NSMutableArray *boerseArray;
    3. . . .
    4. boerse *boerse = [[boerse alloc]initWithNibName:nil bundle:nil];
    5. boerse.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    6. [boerse setBoerseArray:self.herstellerArray];
    7. [self presentModalViewController:boerse animated:YES];
    8. [boerse release];
    Alles anzeigen