Ich benutze einige Font-Icons in ios, die das Identifizieren des Icons durch seine Unicode-Zeichenfolge erfordern. Ich möchte in der Lage sein, den Code von meinem Server als JSON zurückzuholen und diesen Unicode-String dynamisch zu erstellen, um das Schriftart-Symbol abzurufen und das Etikett usw. einzufügen. Ich habe jedoch Probleme, die Konvertierungen durchzuführen. Irgendwelche Ideen basieren auf dem untenstehenden Code?ios dynamischer Unicode NSString für Font-Icons
Das Arbeitsbeispiel ist hier, wo "E539" die Zeichenfolge ist, die vom Server empfangen wird. Ich kann es hart codieren und es funktioniert, aber es dynamisch zu erstellen ist nicht so einfach.
[iconLabel materialIconWithUnicodeStr:[NSString stringWithFormat:@"\uE539"]];
Diese Arten von Sachen nicht funktionieren:
[iconLabel materialIconWithUnicodeStr:[NSString stringWithFormat:@"\u%@", @"E539"]];
[iconLabel materialIconWithUnicodeStr:[NSString stringWithFormat:@"\\u%@", @"E539"]];
ich eine Klasse habe ich hier gefunden UTF32Char die Unicode zu machen nehmen würde. Diese Linie funktioniert, ist aber nicht die ganze Lösung.
Der Versuch, es zusammenzubauen, eher blind von Code, den ich fand, funktioniert fast, aber schafft den falschen Unicode. Ich habe keine Idee warum.
NSString *unicodeStr = @"E539";
// attempt to convert E539 -> 0xE539
UTF32Char outputChar;
if ([unicodeStr getBytes:&outputChar maxLength:4 usedLength:NULL encoding:NSUTF32LittleEndianStringEncoding options:0 range:NSMakeRange(0, 1) remainingRange:NULL]) {
outputChar = NSSwapLittleIntToHost(outputChar); // swap back to host endian
// outputChar now has the first UTF32 character
}
// this does not give the correct icon at all
[iconLabel [EntypoStringCreator stringForIcon:outputChar]];
Warum nicht wandeln die hexcode in eine Reihe und hängen Sie sich mit „% C“ auf den String? – Eiko