weakSelf一般用于防止block里對self的循環(huán)引用,如果在block里用到self通常會生聲明一個weakSelf.
1丧没、關(guān)于weakSelf的聲明.
__weak typeof(self) weakSelf = self;
或者定義成宏#define WeakSelf __weak typeof(self)weakSelf = self;
#define WS(weakSelf) __weak typeof(self)weakSelf = self;
#define WS(weakSelf) __weak __typeof(&*self)weakSelf = self;
2赛糟、關(guān)于typeof()關(guān)鍵字
typeof()是為了判斷括號里邊的類型立倍。例如typeof(int)得出來的類型就是int類型
int a = 10等價于typeof(int) a = 10;
同理typeof(self) 得就來的就是self 的類型缘揪〔├茫可以動態(tài)判斷類型证逻。當(dāng)然如果self是UIViewController 寫成__weak UIViewController *self = self;也可以不過就顯得很笨重;
3乐埠、關(guān)于__typeof(self) 和typeof(self)以及__typeof(&*self)的區(qū)別現(xiàn)在貌似沒什么區(qū)別具體不懂。都可以瑟曲。