ダブルポインターを引数として取るブロックを作成/使用することは可能ですか (そうであれば安全です)?
例えば:
- (void)methodWithBlock:(void (^)(NSError **error))block;
追加のコンテキスト、調査、および質問:
- ARCを使用しています。
- 上記のメソッドを宣言して呼び出そうとすると、XCode はメソッド呼び出しを次のようにオートコンプリートし
[self methodWithBlock:^(NSError *__autoreleasing *error) {}];
ます__autoreleasing
。ARCと関係があると思います。 - これが可能で安全な場合、ポインタは他の場所と同じようにブロック内で逆参照できますか?
- (void)methodWithDoublePointer:(NSError **)error;
一般に、私が説明していることを実行することと、単純にダブル ポインターをメソッド パラメーターとして渡すこと (例: )との重要な違いは何ですか? もしあれば、どのような特別な考慮事項を考慮に入れる必要がありますか(これも可能であると仮定して)?