Tag: 自动重新计数

我是否正确创建并将此C数组传递给Objective-C方法并使用属性引用它?

我创建了一个像这样的C数组: unsigned char colorComps[] = {2, 3, 22, 55, 9, 1}; 我想传递给Objective-C对象的初始化器。 所以我想我必须将数组放在堆上: size_t arrayByteSize = numColorCompVals * sizeof(unsigned char); unsigned char *colorCompsHeap = (unsigned char*)malloc(arrayByteSize); 然后我必须在for循环中将我的第一个“堆栈内存数组”写入堆数组: for (int i = 0; i < numColorCompVals; i++) { colorCompsHeap[i] = colorComps[i]; } 附带问题:是否有更优雅的解决方案来避免循环步骤? 然后我将它传递给方法: 定义为 – (id)initWithColorCompsC:(unsigned char *)colorCompsHeap; TheObject *obj = [[TheObject alloc] initWithColorCompsC:colorCompsHeap]; TheObject具有保存C数组的属性: […]