Chu*_*uck 13
如果您正在谈论sizeof,那么找出NSArray持有多少数据并不是正确的方法.Objective-C对象总是通过指针访问,iPhone上指针的大小是4个字节.这sizeof就是告诉你的.要找出数组中有多少个对象,请询问数组count.
鉴于这种:
NSArray *foo;
NSLog(@"%d", sizeof(foo));
Run Code Online (Sandbox Code Playgroud)
您将获得4或8,具体取决于您使用的是32位还是64位系统.请注意,我非常有目的地没有初始化foo; 没有必要这样做,因为sizeof(foo)它给出了字节大小,foo而且foo只是一个指向对象的随机指针.如果那都是id foo; void*foo; NSString*foo;4或8 都没关系.
如果您想要分配特定类的实例的大小,Objective-C运行时会提供可以完全执行此操作的内省API.但是,我真的没有想到为什么这会在一个程序中过于有趣.
请注意,实例的分配大小不考虑任何子分配.即NSArray可能有一个后备存储,这是一个单独的分配.
重申:
| 归档时间: |
|
| 查看次数: |
14987 次 |
| 最近记录: |