将文件所有者连接到应用程序委托

时间:2011-05-29 21:00:05

标签: iphone xcode4

在某些时候,我出于某种原因从XIB中删除了对象到我的appdelegate文件。我添加了一个新对象,并选择MyAppNameDelegate作为类。但是,它没有连接到文件所有者,我似乎没有得到右键单击和拖动时的选项。我认为这会给我带来一些运行时问题。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

如果您指的是MainMenu,则该文件的所有者是NSApplication类型的对象。

在IB中,您应该选择文件的所有者,访问它的“委托”插座并将其拖动(以绘制一条线)给您的应用代表。这将恢复连接。

还要检查文件的所有者是否已获得NSApplication类类型。也许它以某种方式改变了。

答案 1 :(得分:4)

我有同样的问题。我在不同的主题上找到了很多半答案,所以我决定将它们放在一起。

  1. 将NSObject实例从“对象”调板拖到“对象”下面的区域,其中列出了xib的对象(如果看不到,则单击左下方的三角形)MainWindow.xib。该对象应显示为一个纯橙色框。
  2. 选择此新创建的NSObject,并使用Identity Inspector将其类更改为新App Delegate的名称(无论文件名是否为.h或.m)。这应该是弹出列表中的一个选项。
  3. 控制 - 从文件所有者拖动到新对象,该对象不应显示为“App Delegate”,并选择委托。
  4. 您可能还必须将Window(以及可能的其他视图)重新连接到新代理。通过从App Delegate拖动到窗口并选择窗口来执行此操作。
  5. 希望这有帮助。

答案 2 :(得分:1)

这也让我疯狂。

我在上面标记了+1,答案确实有帮助,答案很神秘,所以这将有助于更详细地解释如何使用“助手”获取不会直接链接到文件的委托或其他连接编辑“观点。

右键单击=控制键+左键单击。!

IN XCode 4.选择任何一个XIB文件。比如你添加的UIScrollView,你想为它设置Delegate。与先前的IB不同,您只需打开连接检查器,并将连接拖到文件中。它在这里实际上是一样的。但差别很大。

(注意:底座是左边的面板2.只有XIB打开) 打开Dock> http://developer.apple.com/LIBRARY/IOS/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/InterfaceBuilder/InterfaceBuilder.html

Dock底部有一个小三角箭头。

在Dock的最顶端是“文件所有者”,没有打开底座,它是带有橙色边框的白色框。

选择视图或者需要代理访问文件的内容(UISegmentControl也让我疯狂),右键单击并将“New Referencing outlet”上的连接拖到Docks“Files Owner”,然后会弹出一个列表起来。

同样明智的是,您可以右键单击“文件所有者”并在那里轻松删除连接,或者创建新连接。 Dock Opened and Connecting the Delegate for UIScrollView