objective-c - 当我尝试在函数中返回此数组时,为什么会出现错误 "Array initializer must be an initializer list"?

标签 objective-c arrays xcode initialization

我来自 Java,我对 Objective C 很陌生。无论如何,我有这个静态方法,它被设计用来制作一个数组的副本 (如果有更好的方法来完成这个,请告诉我,但我问这个问题更多 - 所以找出为什么我得到这个错误以及如何在将来避免这样的错误。)我遇到了一些问题有了它,但就在我认为我已经把它们都整理好了的时候,我得到了这个看起来像 XCode 的错误

这是接口(interface)中的方法:

+ (float[]) copyArray: (float[]) array withLength: (int) length;

下面是实现中的方法:

+ (float[]) copyArray: (float[]) array withLength: (int) length
{
    float copiedArray[length];
    for (int i = 0; i < length; i++)
    {
        copiedArray[i] = array[i];
    }
    return copiedArray;
}

最佳答案

如果您真正想要的只是将第一个 n 个元素从一个 C 数组复制到另一个已经存在的 数组中,最好的方法可能就是简单地使用 内存体:

memcpy(targetArray, sourceArray, sizeof(sourceArray[0]) * numElements);

sizeof(sourceArray[0]) 计算数组中类型的字节大小(在您的情况下,它等同于 sizeof(float)

关于objective-c - 当我尝试在函数中返回此数组时,为什么会出现错误 "Array initializer must be an initializer list"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20939339/

相关文章:

ios - 对象(动物)的自定义动画

c - 从文件读取数据到数组 - C

javascript - 循环遍历对象以执行最接近的高整数的数学运算?

iphone - 如何删除UITableView中最后一个单元格的最后一个边框?

ios - 代码签名错误

iphone - 带分页的动态 UIScrollView

objective-c - 使用带有pop over的drawRect,需要显示图像

php - 如何在foreach循环中从数组中删除重复值?

ios - 安装 Cocoa Pod 依赖项而没有它的子依赖项之一

iphone - 胎面 9 : EXC_BAD_ACCESS