在一些重复性的UI控件的界面时(比如tableView),根据数据源加载了很多个控件,这时个别控件出现了意料之外的情况,如果在控件代码内部断点,则会走过断点很多次,不方便确认位置,这时可以根据数据源去增加断点的执行限定条件 然后断在该方法的某一次执行中
talk is cheap ,show me the code
Xcode可以在右侧控制栏创建断点
选择Symbolic Breakpoint
先写个类
//类objcA
@interface objcA :NSObject
@property (nonatomic, assign) NSInteger count;
@end
再写个方法
//类ViewController
- (void)xxxWithobjc:(objcA *)objc{
NSLog(@"do something here");
}
右键编辑(注意是方法对应的那个断点 ,不是下面的子断点)
symbol是符号,也就是符号断点,写法就像例子那样"-[ViewController xxxWithobjc:]",加减号是说明类型(类方法,实例方法)
这里写的条件是参数objc的属性count为1时执行断点,断点会断在方法一开时的地方,
ignore是忽略前n次不执行断点,优先级在condition之上
module是限定在某个模块内
Action是添加事件,有log shell sound等
完成
run一下,然后大声喊出那句话
这样就可以给断点的触发增加现在条件,提升了debug的效率