7 Stimmen

Objective C: Rückgabe eines Arrays von Objekten aus einer Klassenmethode

Ich habe ziemlich viel gesucht und nicht wirklich eine Antwort auf meine Frage gefunden, also hoffte ich, dass jemand in der Lage sein könnte, mich in die richtige Richtung zu weisen

Ich bin neu in Objective C und habe ein geringfügiges Problem, das Ausführen von etwas, das ich mir vorstellen würde, ist ganz einfach; Rückkehr ein NSArray von Objekten aus einer Klasse-Methode

Ich habe die folgende Klasse mit zugehöriger Klassenmethode

@implementation Sale

@synthesize title = _title;
@synthesize description = _description;
@synthesize date = _date;

+(NSArray*)liveSales
{
    NSArray *liveSales = [[NSArray alloc] init];

    for(int i = 0; i < 100; i++)
    {
        Sale *s = [[Sale alloc] init];
        [s setTitle:[NSString stringWithFormat:@"Sale %d", i+1]];
        [s setDescription:[NSString stringWithFormat:@"Sale %d descriptive text", i+1]];

        [liveSales addObject:s];

        [s release];
        s = nil;
    }

    return [liveSales autorelease];
}

@end

Und ich habe einen ViewController mit dem folgenden Code (getrimmt für Leichtigkeit des Lesens):

@implementation RootViewController

@synthesize saleList = _saleList;

- (void)viewDidLoad {
    [super viewDidLoad];

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;

    [[self saleList] setArray:[Sale liveSales]];
}

Das Problem, das ich erlebe, ist, dass die Anzahl der saleList immer null ist, so dass es scheint, das Array wird nicht festgelegt. Wenn ich den Code debugge und die Klassenmethode liveSales aufrufe, ist die richtige Anzahl von Objekten im Array zum Zeitpunkt der Rückkehr vorhanden

Kann mir jemand den richtigen Weg weisen?

Danke :)

Dave

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X