0

実装でメソッド引数に __weak 参照を使用するプロトコルがあります。プロトコルを次のように定義します。

@protocol TestProtocol
-(void) op:(__weak NSObject*)x;
@end

次に、実装を作成します。

-(void) op:(NSObject*)x
{
}

そして x は強い参照になります。__weak 宣言をプロトコル実装に移動すると、「x」は弱参照になります。

プロトコルの呼び出し元は既に強い参照を保持しているため、実装が別の強い参照を作成しないようにしたいと考えています。

4

1 に答える 1