首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载NIB并重新建立连接

问加载NIB并重新建立连接
EN

Stack Overflow用户
提问于 2011-04-07 09:50:35
回答 1查看 289关注 0票数 0

在实例化对象之后,nib加载代码如何建立到出口的连接?

苹果公司的文件上说:

一旦从存档中实例化和初始化了所有对象,

加载代码就会尝试重新建立每个对象的出口与相应的目标对象之间的连接。如果您的自定义对象有出口,则NSNib对象将尝试重新建立在Interface中创建的任何连接。它首先尝试使用对象自己的方法建立连接。对于每个需要连接的出口,NSNib对象在对象中查找表单setOutletName:的方法。如果存在该方法,则NSNib对象调用该方法,将目标对象作为参数传递。..。

但是它如何确定目标对象?

例如,我有一个对象

代码语言:javascript
复制
@interface Foo: NSObject
{
IBOutlet NSButton *redButton;
}

...

@end

redButton通过IB与窗口上的按钮连接。nib加载代码将如何建立连接?

在nib文件中有任何“连接数据”吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-07 09:58:16

是的,当然NIB文件必须存储这些连接。如果您在文本编辑器中打开XIB文件,您将为每个出口连接找到如下代码段:

代码语言:javascript
复制
<object class="IBConnectionRecord">
    <object class="IBOutletConnection" key="connection">
        <string key="label">launchAtLoginCheckBox</string>
        <reference key="source" ref="1001"/>
        <reference key="destination" ref="951818764"/>
    </object>
    <int key="connectionID">72</int>
</object>

因此,苹果似乎使用私有类IBConnectionRecord和IBOutletConnection的实例来对连接进行建模。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5579151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档