在一些重復(fù)性的UI控件的界面時(比如tableView),根據(jù)數(shù)據(jù)源加載了很多個控件,這時個別控件出現(xiàn)了意料之外的情況,如果在控件代碼內(nèi)部斷點(diǎn),則會走過斷點(diǎn)很多次,不方便確認(rèn)位置,這時可以根據(jù)數(shù)據(jù)源去增加斷點(diǎn)的執(zhí)行限定條件 然后斷在該方法的某一次執(zhí)行中
talk is cheap ,show me the code
Xcode可以在右側(cè)控制欄創(chuàng)建斷點(diǎn)
選擇Symbolic Breakpoint
先寫個類
//類objcA
@interface objcA :NSObject
@property (nonatomic, assign) NSInteger count;
@end
再寫個方法
//類ViewController
- (void)xxxWithobjc:(objcA *)objc{
? ? NSLog(@"do something here");
}
右鍵編輯(注意是方法對應(yīng)的那個斷點(diǎn) ,不是下面的子斷點(diǎn))
symbol是符號,也就是符號斷點(diǎn),寫法就像例子那樣"-[ViewController xxxWithobjc:]",加減號是說明類型(類方法,實(shí)例方法)
這里寫的條件是參數(shù)objc的屬性count為1時執(zhí)行斷點(diǎn),斷點(diǎn)會斷在方法一開時的地方,
ignore是忽略前n次不執(zhí)行斷點(diǎn),優(yōu)先級在condition之上
module是限定在某個模塊內(nèi)
Action是添加事件,有l(wèi)og shell sound等
完成
run一下,然后大聲喊出那句話
這樣就可以給斷點(diǎn)的觸發(fā)增加現(xiàn)在條件,提升了debug的效率