【发布时间】:2011-02-18 22:16:09
【问题描述】:
我的应用程序收到一个包含unsigned int 的NSString。 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];
由于我必须先将其转换为 NSInteger,因此上述内容是否会“切断”大 unsigned int 的结尾?或者看起来可以使用吗?如果它会切断它的结束,那么下面的(我认为有点杂乱无章)怎么样?
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];
感谢您提供的任何帮助! :)
【问题讨论】:
-
要请求支持从 NSString 中读取无符号值,请访问 bugreport.apple.com 并针对组件
Foundation | X提交一个重复的 radar://2264733。
标签: objective-c cocoa nsstring unsigned