Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 在Xcode文档应用程序中:为什么要调用MyDocument的init方法两次?_Cocoa_Cocoa Bindings - Fatal编程技术网

Cocoa 在Xcode文档应用程序中:为什么要调用MyDocument的init方法两次?

Cocoa 在Xcode文档应用程序中:为什么要调用MyDocument的init方法两次?,cocoa,cocoa-bindings,Cocoa,Cocoa Bindings,我遵循Hillegass的第8章在那里实现了RaiseMan应用程序。 然后,我决定按照相同的过程在我正在学习的Cocoa编程类中实现一个练习的代码,但是在构建和运行之后,我得到了以下非常隐晦的错误消息 无法从类的对象创建BOOL\n控制器对象代理 我不知道这个错误消息是什么意思。谷歌搜索带来了一些点击率,但他们的补救措施似乎是做我已经在做的事情 我盯着在Interface Builder中建立的所有连接和分配,没有任何明显的错误 因此,我进入调试器,在MyDocument类的init方法中设置

我遵循Hillegass的第8章在那里实现了RaiseMan应用程序。 然后,我决定按照相同的过程在我正在学习的Cocoa编程类中实现一个练习的代码,但是在构建和运行之后,我得到了以下非常隐晦的错误消息

无法从类的对象创建BOOL\n控制器对象代理

我不知道这个错误消息是什么意思。谷歌搜索带来了一些点击率,但他们的补救措施似乎是做我已经在做的事情

我盯着在Interface Builder中建立的所有连接和分配,没有任何明显的错误

因此,我进入调试器,在MyDocument类的init方法中设置了一个断点,并且调用了两次。怎么会这样?我应该寻找什么使init方法被调用两次呢?堆栈跟踪显示init是由我们自己没有编写的系统函数调用的

为了进行比较,我回到了Hillegass第8章之后的项目中,在MyDocument类的init方法中设置了一个断点,并且只调用了一次(这是人们所期望的)

无法从类的对象创建
BOOL
\u controllerobjectproxy

您似乎已将
BOOL
属性绑定到控制器,但未指定模型密钥路径。最可能的情况是,您绑定了Cocoa视图类的一个内置绑定,例如
已启用
可编辑


在nib中查找已绑定的
已启用的视图
可编辑的视图
,并确保它们都绑定到正确的模型密钥路径。

我自己刚刚遇到这个问题。然后我想起以前看到过一些奇怪的东西,当时我还没有意识到它的重要性。也就是说,在我的XIB文件中,除了“文件的所有者”对象(实际上代表XIB文件中的文档)之外,还有一个“我的文档”对象。我不知道它是如何出现的,但我在IB中删除了它,重新编译,并且presto,[MyDocument init]现在只被调用一次