comment définir un retour NSString fonction Objective-C / Xcode en utilisant une variable temporaire?

Je voudrais définir la fonction suivante en Objective-C. j'ai fourni un pseudo-code pour aider à illustrer ce que je suis en train de faire.

PSEUDOCODE:

function Foo(param) {
  string temp; 

if(param == 1) then
  temp = "x";
else if(param == 2) then
  temp = "y";
else if(param == 3) then 
  temp = "z";
else
  temp = "default";
end if    

  return temp;
}

Pour une raison quelconque, si je fais cela... la variable qui je l'attribuer à des résultats dans un "MAUVAIS Accès" erreur.

Je ne sais pas quelle est la différence entre:

static NSstring *xx;

ou la non-statique:

NSString *xx;

déclarations sont, et comment ou pourquoi je veux utiliser l'un sur l'autre.

J'ai aussi ne pas comprendre pleinement les initialiseurs de NSString, et comment ils diffèrent. Par exemple:

[[NSString alloc] initWithString:@"etc etc" ];

ou la simple affectation:

var = @""

ou encore:

var = [NSString stringWithString:@"etc etc"];

Pouvez-vous me donner un coup de main s'il vous plaît?

Jusqu'à présent, à l'aide de la NSString la valeur de retour de fonctions comme celles mentionnées ci-dessus, provoque toujours une erreur.

OriginalL'auteur PartySoft | 2011-03-20