黒毛和牛モモバラ切り落し100g298円

iPhoneアプリを作ってます。リリースノートとかごにょごにょとか用ブログです。

__weak MyType *weakSelf = self の記述を省略する

pchファイル(かどこか適当な場所)にWeakSelfマクロを追加。

#if __has_feature(objc_arc)
#define WeakSelf __weak __typeof__(self)
#else
#define WeakSelf __block __typeof__(self)
#endif

WeakSelfマクロを __weak MyType * の代わりに使う。WeakSelfはselfの型になるので(インスタンスメソッド内なら)どこでも使える。

WeakSelf weakSelf = self;

ARCが無効な場合WeakSelfは__blockになるので、ARCでもMRCでも同じ書き方でおk