iPhone 我调试代码到某一个函数的调用处,结果单步调试无法进入函数里头。


 

 

问题:我调试代码到某一个函数的调用处,结果单步调试无法进入函数里头。
      以下是代码:

-(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];   没有创建成功。

 

posted on 2012-02-20 14:37  wtq  阅读(955)  评论(0编辑  收藏  举报