2009-08-06 14 views
0

Das hat mich ratlos gemacht.NSArray, letztes Objekt immer ungültig

Ich baue ein NSArray und initWithObjects. Das letzte Element weist niemals wirklich zu. Tatsächlich nimmt die nächste Zuweisung in meinem Code die gleiche Speicheradresse wie diejenige, die von dem letzten Element gezeigt wird.

-Code ist:

coordArr = [[NSArray alloc]initWithObjects: 
    [NSValue valueWithCGPoint:CGPointMake(200.0,40.0)], 
    [NSValue valueWithCGPoint:CGPointMake(56.0,290.0)], 
    [NSValue valueWithCGPoint:CGPointMake(99.0,35.0)], 
    [NSValue valueWithCGPoint:CGPointMake(222.0,333.0)], 
    [NSValue valueWithCGPoint:CGPointMake(60.0,60.0)], 
    [NSValue valueWithCGPoint:CGPointMake(105.0,299.0)], 
    nil]; 

Debugger zeigt:

alt text http://sergepress.com/temp/NSArray.png

Wenn Sie eine Idee haben, das helfen würde. Danke!

+0

Ich habe versucht, diesen Fehler zu reproduzieren und konnte nicht. Könnten Sie mehr von dem umgebenden Code posten? – pgb

+0

Ich kann nicht sagen, dass das Problem hier ist ... Ich habe eine [[[NSArray ....]] behalten]]; umsonst. #import @interface Waypoints: UIView { \t NSArray * coordArr; } @Eigenschaft (nicht atomisch, behalten) NSArray * coordArr; @End @implementation Wegpunkte @synthesize coordArr; - (id) Initwithframe: (CGRect) -Rahmen { if (self = [super Initwithframe: frame]) { \t \t self.backgroundColor = [UIColor Clear]; // transparenter Hintergrund \t \t coordArr = ...; } Rückkehr selbst; } – SYF970

+0

- (void) viewDidLoad { \t Wegpunkte * wpts = [[Wegpunkte Alloc] initWithFrame: CGRectMake (0,0,320,480)]; \t self.waypoints = wpts; \t [self.view addSubview: Wegpunkte]; \t [wpts release]; } – SYF970

Antwort

1

Vertrauen Sie nicht immer dem Debugger, ich hatte oft, wo der Debugger nur falsch ist was in der Variablen ist, genau wie in Ihrem Fall sagt es ungültig, wenn es wirklich nicht ist, also wenn ich Sie wäre, würde ich nur ausgeben die Nummer mit NSLog und sehen, ob es ausgibt (es wird).

+0

Danke Daniel, ich hoffe du hast recht weil Diese Art von Bugs unterbricht sicherlich meinen Arbeitsablauf ... Was mich zu diesem Punkt hingezogen hat, war, dass die App abstürzt, während ich mit diesem Wert durch das Array iteriere. Gleiches gilt, wenn ich NSLog zum Lesen der Klasse oder des Wertes verwende. Ich bin seither mit den Tests beschäftigt, aber ich wäre wirklich erleichtert, wenn ich dieses Problem eines Tages verstehen könnte. Danke noch einmal. – SYF970