iPhone Interface Builder和代理

Mat*_*wdy 14 iphone interface-builder

当我制作一个示例应用程序(即,从标签栏应用程序或其他东西开始)时,在我的MainWindow.xib文件中,我看到列出了5个项目 - 文件所有者,急救人员,应用程序代表,窗口和标签栏控制器.

如果我创建另一个.xib文件,并为它创建一个委托,并将该文件的所有者设置为我刚刚创建的新委托,我不会在...对象(?)列表中看到"NewDelegateFile".厦门国际银行.

这对我来说没有意义,我认为这是我为什么不能快速赶上iPhone开发的一个重要原因.

有没有人愿意花时间向我解释这个小小的特点?

rin*_*ind 24

文件的所有者不是xib文件中的真实对象.它是一个代理对象.它表示在加载时将成为xib所有者的对象.First Responder和App Delegate也是代理.第一响应者是当前在响应者链之上的对象.当应用程序的状态发生变化时,另一个对象可能是第一个响应者.您可以使用此代理对象将文件 - >保存菜单之类的内容连接到任何给定时间负责处理它的对象.

App Delegate是一个实际的对象.当xib加载时,它会弹出.正如您在Interface Builder中看到的那样,它连接到文件所有者的委托出口.应用程序加载MainWindow.xib,它就是文件的所有者.

其他xib文件通常通过委托对象加载.该委托对象是文件的所有者.但代理本身是从代码中实例化的.它不是从xib加载的.这就是它在Interface Builder中没有显示的原因.

xib文件包含实际的序列化对象.文件的所有者和第一响应者是例外.它们代表了一些其他已存在的对象.

文件的所有者(通常是非MainWindow.xib文件中的UIViewDelgate)是鸡.xib是鸡蛋.鸡蛋本身不含鸡蛋.

有点长.希望能帮助到你.