1.@synthesize和@dynamic分別有什么作用?
如果你沒有寫@synthesize pro = _pro 或者 @dynamic pro = _pro 默認(rèn)實(shí)現(xiàn)的是@synthesize
作用@synthesize:方法的合成器 通過@synthesize pro = pro 把實(shí)例變量的屬性和屬性進(jìn)行綁定,而且實(shí)現(xiàn)了setter和getter方法。而且在setter和getter方法內(nèi)部的屬性使用的是_pro。
作用@dynamic:動(dòng)態(tài)的合成器,計(jì)算機(jī)默認(rèn)用戶將會(huì)手動(dòng)重寫setter和getter方法,但是當(dāng)你在程序中不寫上述方法時(shí),xcode不會(huì)報(bào)錯(cuò),但是你在程序運(yùn)行時(shí),用到了屬性的setter或getter方法時(shí),而你又沒有重寫對(duì)應(yīng)的方法時(shí),程序就會(huì)奔潰,這就是動(dòng)態(tài)合成。
2.NSTimer在tableView滑動(dòng)時(shí)不執(zhí)行
因?yàn)镹STimer的便利構(gòu)造器默認(rèn)加入的RunLoop等級(jí)是NSRunLoopDefaultMode,但是tableView滑動(dòng)時(shí)所執(zhí)行的RunLoop等級(jí)UITrackingRunLoopMode是,所以在NSTimer開火之前把NStimer加入NSRunLoopCommonModes中。但是好對(duì)時(shí)間精度有影響。
待續(xù)。。。