Ich habe eine kleine Stiftung Tool-Test (Objective-C), dass ich mit spielen und ich habe ein paar Fragen ...
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int planetLoop;
NSString *tempString;
NSMutableArray *planetArray = [[NSMutableArray alloc] init];
NSLog(@"STRING ARRAY ... Start");
for(planetLoop=0; planetLoop<10; planetLoop++) {
tempString = [NSString stringWithFormat: @"Planet_%03d", planetLoop+1];
NSLog(@"Planet_%03d", planetLoop+1);
[planetArray addObject:tempString];
}
[planetArray release];
[pool drain];
return 0;
}
Erstens, in der Regel ich ein Objekt freigeben, nachdem Sie es zu einem Array hinzufügen, aber bin ich richtig zu denken, dass was ich habe derzeit richtig ist, weil "tempString" ein Zeichenfolgenliteral ist, und als solche nicht zugewiesen oder freigegeben werden müssen?
Zweitens, wenn ich dies (vor der Ausführung) ausführen, erhalte ich den folgenden Fehler "Unfähig, unbekannten Ladebefehl 0x80000022" zu lesen, wenn dies ein Problem mit meinem Code? von der Suche auf Google sieht es aus wie es ein Fehler in xCode 3.1.2 sein könnte, hat jemand irgendwelche Ideen?
Schließlich etwas, das ich falsch mache, ist die Idee, ein Array mit 10 String "Planet_001" bis "Planet_010" zu füllen
EDIT: Ah, ich sehe, das ist wegen der "= [NSString" Bit d.h..
// Autoreleased object
tempString = [NSString stringWithFormat: @"Planet_%03d", planetLoop+1];
// String literal
tempString = @"Planet_";
Vielen Dank, ich weiß das sehr zu schätzen -Gary-