2010-09-29 14 views
12

Ich möchte int in String c in String c konvertieren, wie man das macht.Wie konvertiert man NSinteger in String

mein Code.

for (i=0; i<=200; i=i+10) { 
    // here i want to convet the value of i into string how to do this 

} 

Vielen Dank im Voraus.

+0

Ich habe eine andere String-Variable namens myWord ich will ich es Wert zuzuweisen ..... .. –

Antwort

14

Try this:

NSMutableString *myWord = [[NSMutableString alloc] init]; 
for (int i=0; i<=200; i=i+10) { 
    [myWord appendString:[NSString stringWithFormat:@"%d", i]]; 
    //... 
} 
//do something with myWord... 
[myWord release]; 

NSInteger ist einfach ein typedef die int oder long Datentypen auf 32/64-Bit-Systemen.

+2

n13 ist die Antwort unten ist die moderne Variante und viel eleganter –

2

Sie möchten MyWord als NSMutableString aus der Schleife deklarieren.

11
NSInteger n = 13; 
NSString string = @(n).stringValue; 

Referenz für Objective-C-Literalen - Literale viele hässliche vorformulierten Code entfernen Sie Ihre Codebasis unübersichtlich: http://clang.llvm.org/docs/ObjectiveCLiterals.html

+1

Cool, danke für die Einführung in den einfachen Weg mit der neuen Syntax –

+0

Dies ist eigentlich langsamer und weniger Speicher effizient, da Sie eine Instanz von 'NSNummer' jedes Mal Sie erstellen möchte einen String-Wert erhalten. Hat einen Benchmark mit 1000000 Iterationen gemacht und bekam '0,924962' Sekunden mit dem' NSNumber' Ansatz und bekam '0,668426' Sekunden mit dem' stringWithFormat' Ansatz. Dies ist nur eine Überlegung, wenn Sie es in einer großen Schleife verwenden würden. – Majster

+0

^Interessanter Benchmark, aber ich hätte erwartet, dass es schlechter läuft. Ein 30% Unterschied ist nicht so viel. Natürlich sollten Sie das nicht tun, wenn Sie Tausende oder Zehntausende von Zahlen in String konvertieren. Eine riesige Schleife von Zahlen zu String-Conversion klingt für mich wie schlechter Code, egal wie man die Konvertierung macht. – n13

Verwandte Themen