问题:我调试代码到某一个函数的调用处,结果单步调试无法进入函数里头。
以下是代码:
-(void)passValue:(NSArray *)secondNodesArray
{
TreeViewCell *cell = (TreeViewCell*)[self.tableView cellForRowAtIndexPath:indexPathCopy];
[cell OnExpandCell];
}
-(void)OnExpandCell
{
[self Expand];
}
-(void)Expand
{
NSLog(@"Expand");
if ([treeNode hasChildren]) {//如果有子节点
treeNode.expanded=!treeNode.expanded;//切换“展开/收起”状态
if(treeNode.expanded){//若展开状态设置“+/-”号图标
[btnExpand setImage:[UIImage imageNamed:
@"minusTree.png"] forState:UIControlStateNormal];
}else {
[btnExpand setImage:[UIImage imageNamed:
@"plusTree.png"] forState:UIControlStateNormal];
}
if(owner!=nil && onExpand!=nil)//若用户设置了onExpand属性则调用
[owner performSelector:onExpand withObject:treeNode];
}
}
红色的代码是我设置的断点,结果无法运行到Expand这个函数 里头
总结:出现以上这种情况(程序有运行到函数调用处,但是没有执行下去)的原因是:对象本身没有创建,所以无法执行到函数里头。
也就是说
TreeViewCell *cell = (TreeViewCell*)[self.tableView cellForRowAtIndexPath:indexPathCopy]; 没有创建成功。