を行う必要があり、私はあなたがあなたが持っているかわからない別の問題があると思います。
このメソッドの引数は、おそらくであり、有効なオブジェクトではありませんです。オブジェクトへのポインタへのポインタを見ると、それはほとんどの場合、「参照渡し」のパラメータになります。呼び出し元は変数のアドレスを渡します。このメソッドは変数をオブジェクトに設定することになっています。たとえば:
- (void)tellMeHello:(id *)message {
if (message) {
*message = @"Hello!";
}
}
// It's used like this:
id thisWillBeTheMessage; // it's nothing right now
[someObject tellMeHello:&thisWillBeTheMessage];
NSLog(@"%@", thisWillBeTheMessage); // prints "HELLO!"
私はここで問題になっている方法に慣れていないんだけど、Objective-Cのオブジェクト私の知る限りへのポインタへのポインタを渡すために、他の理由はかなりありません。
編集:OK、私はちょうど別の理由を考えました:オブジェクトのC配列を渡している場合。しかしそれはあまり一般的ではありません。これは、NSArrayの2つのイニシャライザでのみ行われます。これはルールよりも例外です。
'id *'は目を痛くします – sidyll
@sidyll:これはちょっと厄介ですが、同じことを達成するためのより良い方法はないので、すべてを吸い上げる必要があります。 – Chuck