Ich habe ein Unicode-Zeichen-Array mit "characterAtIndex:" aus einem NSString-Objekt erstellt.
Ich möchte die Zeichen im Array wieder zu einer einzigen vollständigen Zeichenfolge zusammenfassen.
Gibt es eine Methode, um dieses Unicahr-Array in NSStirng zu konvertieren? Kann mir bitte jemand helfen ???
Das ist mein Code:
NSString *sentence = @"A long string";
NSString *new = [[NSString alloc]init];
unichar aBuffer[[sent length]];
int j=0;
//Tried to reverse the string:
for (int i=[sent length]-1; i>=0; i--,j++) {
aBuffer[j]=[sent characterAtIndex:i];
}
Ich habe einen besseren Weg für die Stichumkehr gefunden, aber lassen Sie mich wissen, ob wir eine Methode dafür haben ...
Antworten:
2 für die Antwort № 1Ist das Array ein Standard-C-Array? (sieht ungefähr so aus: array[50];
) Wenn ja, können Sie dies tun:
[NSString stringWithCharacters:(const unichar*) length:(NSUInteger)];
3 für die Antwort № 2
Sie können in eine konvertieren unichar
und zurück mit getCharacters:range:
und stringWithCharacters:
.
NSString *sentence = @"A long unicode sentence";
NSUInteger length = [sentence length];
unichar aBuffer[length + 1];
[sentence getCharacters:aBuffer range:NSMakeRange(0, length)];
aBuffer[length] = 0x0;
NSString *newStr = [NSString stringWithCharacters:aBuffer length:length];
NSLog(@"%@", newStr);
2 für die Antwort № 3
Holen Sie sich ein NSString
aus einem Byte-Array mit:
- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding
(und du könntest es gebrauchen UTF8String
anstatt die Zeichenkette mit durchzugehen characterAtIndex:
)
0 für die Antwort № 4
Mit Toll-Free Bridging können Sie ein Char-Array in eine Objective-C-Klasse oder umgekehrt umwandeln.
Sie können ein erstellen CFMutableStringRef
Variable mit Ihrem Array Angenommen, die Variable ist myString. Dann können Sie eine Zeichenkette oder eine veränderbare Zeichenkette damit erstellen.
NSMutableString* objcString = (NSMutableString*) myString;