当前位置:  开发笔记 > IOS > 正文

在Objective-C中连接委托类

如何解决《在Objective-C中连接委托类》经验,为你挑选了1个好方法。

我的Interface Builder文件中有两个控件,每个控件我都在代码中创建了一个单独的委托类(Control1Delegate和Control2Delegate).我在界面构建器中创建了两个"对象",使它们成为该类型,并将控件作为委托连接到它们.代表工作得很好.我的问题是,我需要将一个代表的信息分享给另一个代表,我不确定如何.

做这个的最好方式是什么?将两个代表组合成一个类,或者以某种方式访问​​他们都能阅读的第三个类?因为我实际上并没有在我的代码中的任何地方初始化类,所以我不确定如何获取对它的实际实例的引用(如果有实际的实例),或者甚至访问"main"类,该项目随之而来.



1> Barry Wark..:

您可以将委托中的出口添加到其他委托.有两种方法可以在IB中为对象添加插座(假设您使用的是Xcode/IB 3.0或更高版本:

    如果尚未为委托类生成代码,请选择所需的委托,然后在IB检查器中打开"对象标识"选项卡.添加NSObject类型的"类出口".然后,您应该能够将此新插座设置为另一个代理.当然,您必须为委托类生成代码,并在加载nib之前将生成的源文件添加到Xcode项目中.

    如果您已经为委托类生成了代码(或者将NSObject添加到您的NIB并将其类设置为Xcode项目中的现有类),请将一个实例变量添加到委托类:

    IBOutlet id outletToOtherDelegate;

    只要您的Xcode项目打开(如NIB窗口左下方的绿色气泡所示),IB将自动检测新的插座并允许您将其分配给NIB中的其他委托对象.

Cocoa在NIB加载时自动连接这些插座.一旦awakeFromNib调用了委托对象的实例,就可以假设NIB中的所有其他对象都已实例化,并且所有出口都已连接.但是,您不应该在接听电话时下订单awakeFromNib.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有