Ios 大小
如何获取Ios 大小,ios,objective-c,arrays,Ios,Objective C,Arrays,如何获取NSArray的大小并使用NSLog在控制台中打印 关于数组大小的问题,请看这篇文章 int size = [array count]; NSLog(@"there are %d objects in the array", size); 使用NSLog写入控制台 NSLog(@"The array size is %@", arraySize); 大小可以通过向NSArray实例发送“count”来确定,并且可以通过NSLog()打印到控制台,例如: 对另一个答案的回答: 你无法
NSArray
的大小并使用NSLog
在控制台中打印 关于数组大小的问题,请看这篇文章
int size = [array count];
NSLog(@"there are %d objects in the array", size);
使用NSLog写入控制台
NSLog(@"The array size is %@", arraySize);
大小可以通过向NSArray实例发送“count”来确定,并且可以通过NSLog()打印到控制台,例如:
对另一个答案的回答: 你无法获得以兆字节为单位的数组大小,至少如果不做一些技巧性的、不受支持的*C巫术的话
NSArray
是一个类集群,这意味着我们不知道它是如何在内部实现的。事实上,所使用的实现是可以实现的。此外,数组的大小与数组引用的对象的大小是不相交的,因为这些对象位于堆的其他位置。即使保存对象指针的结构在技术上也不是数组的“一部分”,因为它不一定紧挨着堆上实际的NSArray
如果需要数组结构本身的大小,那么显然只有4个字节:
NSLog(@"Size: %d", sizeof(NSArray));
印刷品:
2010-03-24 20:08:33.334 EmptyFoundation[90062:a0f] Size: 4
(当然,这不是一个像样的表示,因为NSArray
可能只是另一种对象的抽象接口,通常类似于nscarray
。如果你查看NSArray.h
,你会发现NSArray
没有实例变量。对于一个应该包含其他物体,嗯?)
*
我所说的“不受支持”是指“不推荐”、“深入研究类簇的内部神秘主义”和“未记录和私有API,如果它在Swift 4中存在的话”
设a=[“a”,“b”]
a、 count//2从技术上讲,它应该是
nsuiger size=…
,但无论如何都是+1:)您必须将它强制转换为printf支持的类型才能打印它,因为printf没有NS[U]的格式说明符整数。@Chuck文档说分别使用%ld
和%lu
作为NSInteger
和NSInteger
@从技术上讲,Chuck是一个长型和无符号长型的演员,但这是推荐的:)
2010-03-24 20:08:33.334 EmptyFoundation[90062:a0f] Size: 4