Chr*_*ina 32 iphone xcode objective-c max nsstring
NSString对象中可以保存的最大大小字符串是多少?
这会动态变化吗?
Spe*_*esk 62
我假设NSString的硬限制是NSUIntegerMax字符,因为NSString的索引和与大小相关的方法返回NSUInteger.由于目前能够运行iOS的所有设备都是32位,这意味着NSUIntegerMax是2 ^ 32 - 1,NSString可以容纳超过42亿个字符.
正如其他人所指出的那样,实际限制要小得多 - 特别是在iOS设备上,在你达到NSString的任何硬限制之前,你的内存耗尽.
NSString实际上是一个类集群,因此很有可能不同的具体类(比如,NSStringvs. NSMutableString)将使我们有不同的"后备存储"来存储数据.您甚至可以子类化NSString并提供自己的后备存储实现,以满足您的特定需求(查看NSString的"Subclassing Notes").
至于实际使用哪个后备存储NSString,这是Apple未记录的实现细节,它可能随时更改.
对于我自己,我假设a的最大长度NSString仅受可用内存的限制.实际上,由于可用内存可能非常庞大,因此会有一些其他限制(可能是与性能相关的限制),但我从未发生过这样的限制.
| 归档时间: |
|
| 查看次数: |
19285 次 |
| 最近记录: |