IB中对象和外部对象有什么区别?
我什么时候应该使用?
我什么时候应该使用?
解决方法
加上另一个答案:
您可以使用“外部对象”来跨多个xib访问公共对象.你也可以用其他方式做到这一点,但这很方便.
您可以使用“外部对象”来跨多个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];