gpt4 book ai didi

ios - 分配NSUInteger IndexBuffer

转载 作者:行者123 更新时间:2023-12-01 19:29:20 24 4
gpt4 key购买 nike

我正在尝试通过调用NSIndexSet来检索我的-getIndexes:maxCount:indexRange
这是我的代码

const NSUInteger arrayCount = picturesArray.count;
NSUInteger theIndexBuffer[arrayCount];
[picturesArray getIndexes:theIndexBuffer maxCount:arrayCount inIndexRange:nil];

但是,在调试器中, IndexBuffer始终显示为 -1。当我使用 NSUInteger theIndexBuffer[10]这样的静态数字对其进行初始化时,我得到了一个适当的实例。

这可能是因为它在编译时不知道 arrayCount是什么。
正确的做法是什么?

最佳答案

您可以使用如下指针动态分配它:

NSUInteger *theIndexBuffer = (NSUInteger *)calloc(picturesArray.count, sizeof(NSUInteger));
// Use your array however you were going to use it before
free(theIndexBuffer); // make sure you free the allocation

在C语言中,即使这是一个动态分配的缓冲区,您也可以使用数组下标运算符,并且(大部分情况下)假装它只是一个数组。因此,如果您想获得第三个元素,则可以编写:
NSUInteger thirdElement = theIndexBuffer[2]; // arrays are 0-indexed

只是不要忘记在完成后将其释放。

关于ios - 分配NSUInteger IndexBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com