-1

如果你有一个在方法中定义的 C 指针,并试图从 Objective C 中的对象方法返回它,你将什么作为方法的返回对象类型?

例如,我正在使用将 UIImage 转换为 RGBA 图像映射的代码(如此处所示 - 但该代码存储了一个指向内存的 C 指针,该指针不清楚如何返回。

- (??what goes here??) returnTextureRGB
{
  // ... other code ...
  void *imageData = malloc(height*width *r);
  // ... other code ...
  return(imageData);
}

声明返回的正确对象类型是什么?

4

2 回答 2

1

我不知道为什么这与 C# 有关,但是 Objective-C 是 C 的超集,因此每个 C 语法也是有效的 Objective-C 语法。

只需void* 作为返回类型。

于 2012-04-05T01:14:24.530 回答
0

好吧,您提到了 Objective-C,谈到了 C#……所以不清楚您到底在问什么。对于 C#,您可以使用您想要的任何类型,只要它的大小足以存储sizeof(void *)字节数(这取决于架构,即 86_64 架构上的 64 位)并且它具有相同的对齐方式(尽管可以解决对齐方式)。例如,ulong会做。Objective-C 透明地支持 C,因此只需按原样使用指针数据类型。

于 2012-04-05T01:18:02.390 回答