XCode Interface Builder 中的对象与外部对象

问题描述 投票:0回答:2

IB中的对象和外部对象有什么区别?
我应该什么时候使用它们?

ios xcode interface-builder
2个回答
6
投票

补充另一个答案: 您可以使用“外部对象”来访问多个 xib 中的公共对象。您也可以通过其他方式做到这一点,但这会很方便。

例如,如果您要对多个 xib 上的按钮单击执行“大”操作,并且如果您有许多此类操作(此外,如果您正在执行此操作的数据相同),则不要调用

addTarget:action... 
,您可以创建此类的代理对象并将其连接到按钮。

您可以使用以下代码将代理对象连接到您的xib:

 id *proxy = <someObject>; //The object you want to wire up
//In the below line of code use the same key as the identifier you give for the proxy object in the Interface Builder
 UINib *nib = [UINib nibWithNibName:@"ViewController" bundle:Nil];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:proxyObject,@"proxy", nil];
NSDictionary *dict2 = [NSDictionary dictionaryWithObjectsAndKeys:dict,UINibExternalObjects, nil];
NSArray  *nibArray = [nib instantiateWithOwner:self options:dict2];
self.view = [nibArray objectAtIndex:0];

3
投票

对象是实际嵌入笔尖的东西。

外部对象是加载笔尖的代码承诺在加载时提供的对象(我相信通过将键映射到外部对象的字典)。

除了文件所有者(已经为您提供)之外,大多数人从不使用任何外部对象。您几乎肯定只想要对象。

© www.soinside.com 2019 - 2024. All rights reserved.