需要有关调试Cocoa绑定的提示

时间:2012-08-18 15:40:07

标签: xcode cocoa binding xcode4 nib

我在三天内遇到了第二个问题,其中错误的绑定导致我数小时的搜索和头痛。

浏览堆栈跟踪表明调试存在问题(例如,在运行时开始生成异常之前调用的最后一个方法之一是bind:toObject:withKeyPath:options :)。但是,我发现无法确定WHICH绑定是否会导致问题:

  • 堆栈跟踪或变量检查中没有任何内容表明崩溃的调用涉及哪些视图。

  • 通过单步执行代码可追踪的最后一条非机器指令是对单片函数的调用(awakeFromNib或makeKeyAndOrderFront)。

  • 实际异常中的消息是神秘的 - 例如,“无法从类NSScrollView的对象创建NSArray”,同时创建一个没有任何NSScrollViews的窗口(只有两个按钮和两个文本字段)。 / p>

那么......有关调试这些类型问题的提示吗?例如:

  • 有没有办法获取nib / xib中指定的所有绑定的列表? (无法做到这一点让我感到疯狂!)

  • 有没有办法找出崩溃涉及哪些观点或控件?

  • 有没有办法获得有关awakeFromNib等整体调用内部情况的更多信息?

1 个答案:

答案 0 :(得分:2)

您可以将xib文件作为源代码打开(不在IB中)并搜索"IBBindingConnection"部分。

示例:Justin的搜索方式(参见评论):

grep -A 18 -B 1 -H -a -n "IBBindingConnection" /PATH/TO/NIB