L'ajout d'objets de chaîne à NSMutableArray?

J'ai un peu de fondement de l'outil de test (Objective-C) que je joue avec et j'ai quelques questions ...

#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;
}

D'abord, j'ai l'habitude de libérer un objet après l'ajouter à un tableau, mais suis-je en droit de penser que ce que j'ai actuellement est juste parce que "tempString" est un littéral de chaîne, et en tant que tel n'a pas besoin d'être attribués ou mis en liberté?

Deuxièmement, lorsque je l'exécute (avant l'exécution) j'ai le eror "impossible de lire inconnue commande de chargement 0x80000022" si ce un problème avec mon code? à partir d'une recherche sur google, il semble comme il pourrait être un bug dans xCode 3.1.2, quelqu'un a des idées?

Enfin tout ce que je fais de mal, l'idée est de remplir un tableau avec 10 chaîne "Planet_001" à "Planet_010"

EDIT: Ah, je vois, c'est en raison de l' "= [NSString" bits c'est à dire

//Autoreleased object
tempString = [NSString stringWithFormat: @"Planet_%03d", planetLoop+1];
//String literal
tempString = @"Planet_"; 

merci beaucoup, beaucoup apprécié -gary-

OriginalL'auteur fuzzygoat | 2009-09-14