我真的很难在我们的大型ios项目上调试代码。似乎每个人都疯狂地放置块并在各处派遣队列。
当我被要求调试一大块代码时,我真的很想介绍它并观察事情的变化,看看变量究竟发生了什么。对于已经放入的所有块,我不能真正做到这一点有两个原因:
我必须在每个小块内放置一个断点才能在该块中停止。
在一个块中,没有块的变量不会以可用的方式显示,并且不能使用po命令轻松地转储到控制台。
是否有更简单或更好的方法来逐步执行/评估充斥着块的代码?或者我在这里遗漏了什么?
答案 0 :(得分:3)
答案 1 :(得分:1)
为什么不使用NSLog()在块中输出所需的变量?
答案 2 :(得分:1)
您可以使用以下方法在控制台中打印出对象:
示例:
po object.name
po object.age
另一种方法:在代码中加一个断点。当它在那时停止执行时,将鼠标悬停在它上面。
有关更详细的信息,请查看我对此问题的回答:How to inspect elements from NSArray and NSDictionary in xcode?
答案 3 :(得分:1)
你是对的,调试块有点麻烦。我尝试使用“自动转储断点”,但事实证明,它们维护起来很糟糕......
我最终基本上使用了NSLog
。但NSLog()
的问题是,您不希望在发布版本中记录所有日志。所以我建议使用像:
我认为这真的很棒。您可以在此博客文章中了解并记录此事:
iOS Development: You're Doing It Wrong
真的值得一读。