Da target_locations
ist ein NSMutableArray
, und das ARC nicht aktiviert ist, hier die richtige Vorgehensweise ist wie folgt:
CLLocation * newLocation = [[CLLocation alloc] initWithLatitude : 51.50373056
longitude : 0.129986111];
target_locations[0] = newLocation;
[newLocation release];
Sie nicht release
auf das Ergebnis eines Arrays Zugriff senden sollte, weil Sie don‘ t besitzen dieses Objekt durch diesen Zeiger. Während es funktioniert in diesem Fall, ist es semantisch falsch und zu wahrscheinlich, um Probleme zu verursachen, wenn Sie in die Gewohnheit kommen.
Denken Sie auch darüber nach, target_locations
in targetLocations
umzubenennen, was konsistent mit Cocoa-Stil ist. Wenn Sie den Unterstrich verwenden, sieht es eher wie ein einfaches C-Array aus als ein Objekt.
Die Antwort hängt davon ab, welcher Typ 'target_locations' ist (obwohl Sie' _really_ '_freigabe' niemals an das Objekt im Array senden sollten). 'NSArray' oder Plain-C-Array? –
Denken * Ownership *, nicht * Zählung behalten *. Oder, wenn es sein muss, lassen Sie @bbum nicht wissen. –
target_locations ist ein NSArray, hoffe, bbum würde einen Kommentar abgeben ... :) – Stanley