Мое приложение получает NSString
, содержащее unsigned int
. У NSString нет метода [myString unsignedIntegerValue];
. Я хотел бы иметь возможность извлечь значение из строки без искажения его, а затем поместить его в NSNumber
. Я пытаюсь сделать это так:
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];
Сказанное выше потенциально "обрежет" конец большого unsigned int
, так как мне пришлось сначала преобразовать его в NSInteger
? Или это выглядит нормально, чтобы использовать? Если это отрежет конец, как насчет следующего (я думаю, что-то вроде клочья)?
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];
Спасибо за любую помощь, которую вы можете предложить! :)