-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#について話します...したがって、あなたが正確に何を求めているのかは明確ではありません。sizeof(void *)C#の場合、バイト数を格納するのに十分なサイズ(アーキテクチャに依存する、つまり86_64アーキテクチャでは64ビット)であり、同じアラインメント(アラインメントは回避できます)である限り、任意のタイプを使用できます。)。たとえば、ulongします。Objective-Cは透過的にCをサポートするため、ポインタデータ型をそのまま使用します。

于 2012-04-05T01:18:02.390 に答える