我想知道转换/转换一个从csv文件解析的数字是否合理。客户ID,到NSString? 或者更好一个简单的int?因为我对obj-c很新,所以我不太确定,一直使用NSxyz类型,或者使用我习惯的,来自Java / C / C ++。
实际上这个值只存储在一个变量中,然后加载到一些文本字段中(这又意味着转换回NSString我猜?)。
使用更少的内存会有什么好处吗?让我们假设id有6位数,解析大约10'000-100'000个客户。同样适用于较小的数字,例如地址街道号码。
答案 0 :(得分:-1)
在string
,1 letter == 1 byte
中,如果您有6位数,则占用6 bytes
。
int
通常需要2 (short), 3 or 4 (long) bytes
。它也可以8 bytes
到达int_64
。但是,您受到限制,因为例如在 2字节情况(16位)中,您可以考虑 2 ^ 16 数字。
在您的情况下,您可以使用int
,但我会使用NSString
,因为您需要textfield
。
NSInteger
是int
。 NSUInteger
是unsigned int
。
NSNumber
是一个对象(所以没有原语),可以存储int
,float
,double
或boolean
。因此,您可以在此类变量中存储多种类型的基元,然后使用相应的:
[number floatValue];
[number boolValue];
...