ブロックを指すプロパティを持つオブジェクトがあります。
typedef void (^ThingSetter)();
@property(nonatomic, strong) ThingSetter setup;
プロパティをブロックで初期化します。私の中でblock
私はオブジェクトインスタンスを参照します:
Thing *thing = [[Thing alloc] init];
thing.setup = ^() {
plainOleCFunction(thing.number);
[thing doSomethingWithString:@"foobar"];
};
ただし、保持ループに関するコンパイル警告が表示されます。
capturing 'thing' strongly in this block is likely to lead to a retain cycle
block will be retained by the captured object
これを行う正しい方法は何ですか?
ありがとう、ダグ