2011-03-17 4 views
1

Je suis nouveau à la programmation en XCode, et comme un premier exercice de familiarisation, je voudrais faire une petite application de calculatrice. Donc, évidemment, j'ai rencontré quelques problèmes: J'essaie que l'utilisateur utilise les boutons pour taper les chiffres et les opérateurs dans une chaîne, qu'il voit ensuite. Quand j'utilisesetString NSMutableString

displayString = [NSString stringWithFormat:@"%@%@", displayString, operatorString]; 

tout fonctionne bien. Ensuite, j'ai décidé de travailler avec NSMutableStrings afin d'obtenir les deletebuttons. J'ai changé le headerfile de façon appropriée, après quoi je encore la fonctionnalité NSString plus tôt Et puis j'ai eu le problème suivant (parce que NSMutableString hérite de NSString?):

[displayString setString:@"test"]; 
NSLog(@"%@", displayString); 

Même si c'est la première méthode que je l'appelle, je reste obtenir nul. I Qu'est-ce que je fais de mal?

non apparentés, est-il un moyen d'avoir cette écriture de chaîne à une sorte de fonction: Je voudrais pouvoir faire

result = contentof:displayString 

ou quelque chose d'un comme. Des idées sur comment je pourrais faire ça?

Répondre

6

NSString n'a pas de méthode setString:. (Documentation)

Dans ce cas, vous avez besoin d'un NSMutableString. Voici comment vous le mettre en œuvre:

NSMutableString *mutableString = [[NSMutableString alloc] initWithFormat:"%@%@", displayString, operatorString]; 

... puis de le changer:

[mutableString setString:@"test"]; 
+0

merci beaucoup –

+0

Si je répondu à votre question, s'il vous plaît marquer comme accepté. – esqew