2 Stimmen

Objektverlust beim Aufruf von [[ alloc] init]

Ich erlebe ein seltsames Problem beim Aufruf von alloc/init:

Wenn ich anrufe:

Card *card = [[Card alloc] init];
return card; //here debugger reports that card is an NSMutableArray*, not a Card*

Wenn ich jedoch anrufe:

Card *card = [Card alloc];
[card init];
return card; //here debugger reports that card is Card*

Die Karte wird deklariert als

@interface Card : NSObject { ...

Ich habe genau dieses gleiche Muster mit anderen Objektzuweisungen in meinem Code erlebt. Es ist, als ob das Objekt vor der Rückkehr freigegeben wird, oder der Stapel wird auf getreten.

Ich weiß, dass ich alloc/init zusammen verwenden soll, aber ich habe dieses Problem.

3voto

Eric Petroelje Punkte 58501

Ist Ihr init Funktionsrückgabe self ? Ich vermute, dass das nicht der Fall ist, und das ist wahrscheinlich Ihr Problem.

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