Dar*_*pan 32 arrays objective-c find
我没有在任何问题中找到答案.我正在将一个整数数组传递给一个函数.现在我想遍历数组.但是,因为在C,C++中工作的东西很简单,使用arrayname.length给出了数组中的元素数量.找到它的方法是什么?[NSArrayObject length]适用于NSArray类型,但我希望它用于int [].甚至没有[XYZ计数]工作....所以想要另一种方式找到它.
And*_*ell 22
Objective-C没有任何特定于int的数组.您将使用与使用C相同的技术.
sz = (sizeof foo) / (sizeof foo[0]);
Run Code Online (Sandbox Code Playgroud)
Chu*_*uck 18
array.length在C中没有这样的东西.在Objective-C中的int数组与C中的int数组完全相同.如果它是静态定义的int foo[5],那么你可以做到sizeof(foo)获得大小 - 但只在相同的函数foo中定义in(对于其他函数,它只是一个int指针,而不是一个数组本身).否则,没有固有的方法来获取此信息.您需要传递大小或使用sentinel值(如C字符串中的终止'\ 0',它只是char的数组).
数组基本上只是一个内存块的内存地址,该内存块是为数组分配的.要实际使用它,您需要在创建它之后以某种方式记住长度.您可以将长度传递给每个函数,或者将数组和长度包装在另一个结构中,并传递该结构.