Wie konvertiere ich einen NSString in einen Int ohne Vorzeichen in Cocoa?

Meine Bewerbung erhält einNSString mit einemunsigned int. NSString hat kein[myString unsignedIntegerValue]; Methode. Ich möchte in der Lage sein, den Wert aus der Zeichenfolge zu entfernen, ohne ihn zu entstellen, und ihn dann in ein @ zu setzeNSNumber. Ich versuche es so zu machen:

NSString     *myUnsignedIntString = [self someMethodReturningAString];
NSInteger    myInteger            = [myUnsignedIntString integerValue];
NSNumber     *myNSNumber          = [NSNumber numberWithInteger:myInteger];

// ...put |myNumber| in an NSDictionary, time passes, pull it out later on...

unsigned int myUnsignedInt        = [myNSNumber unsignedIntValue];

Wird das obige möglicherweise das Ende eines großen @ "abschneiden"unsigned inta ich es in @ umwandeln mussNSInteger zuerst? Oder sieht es in Ordnung aus? Wenn es das Ende abschneidet, wie sieht es dann mit Folgendem aus (ein bisschen kludge, denke ich)?

NSString     *myUnsignedIntString = [self someMethodReturningAString];
long long    myLongLong           = [myUnsignedIntString longLongValue];
NSNumber     *myNSNumber          = [NSNumber numberWithLongLong:myLongLong];

// ...put |myNumber| in an NSDictionary, time passes, pull it out later on...

unsigned int myUnsignedInt        = [myNSNumber unsignedIntValue];

ielen Dank für jede Hilfe, die Sie anbieten können! :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage