CIF*_*ter 9 types objective-c nsstring
我有个问题关于安全地或适当地转换一个NSString分为不同的类型,例如CGFloat和NSInteger,考虑到这些,苹果创建使用不同的原语取决于某些因素(例如,简单地包装类型NSInteger是typedef"d到int在32位体系结构和long上64位架构).
例如,我知道我可以使用类似的[ someString intValue ]或[ someString longValue ],但我怎么不是说我想someString成为一个NSInteger,让底层的原始的精度由编译器来选择?NSInteger integer = [ someString intValue ]如果someString是从NSInteger64位系统创建的,那么说类似会导致数据丢失,对吧?处理这种情况的最佳方法是什么?
Chu*_*uck 11
请integerValue改用.如果字符串表示的整数大于32位INT_MAX,则获取int只会导致问题,但使用更兼容的方法仍然更好.