我有两个控制在我的口生成器的文件,以及那些控制我已经创建了一个单独的委托类代码(Control1Delegate和Control2Delegate).我创建了两个"对象"口生成器,让他们的类型,以及连接的控制,以它们作为代表。代表们工作得很好。我的问题是,我需要分享信息从一个委托给其它委托,我不知道如何。

什么是最好的方式做到这一点?结合这两个代表为一类,或以某种方式接入第三类,他们都可以读吗?因为我不实际上初始化类在任何地方,在我的代码,我不知道如何获得一个参照实际的实例,它(如果有一个实际的实例),或者甚至访问"主"类的项目来。

有帮助吗?

解决方案

你可以增加点自委派的其他代表。有两种方式中添加出口对象在IB(假设你正在使用的模式/IB版本3.0或后来:

  1. 如果你还没有产生的代码,用于你的委托类然而,选择所需的委托,然后打开"对象的身份"的标签IB检查。添加"类出口"的类型NSObject.你应该能够设置这个新出口到其他代表。当然你将要产生的代码,用于你的委托类和添加所产生的源文件,以你的工业化项目之前你能负载的笔尖。

  2. 如果你已经产生的代码,用于该委托类(或加入NSObject于你笔尖,并设置其流的一个现有类模式的项目),添加一个实例可变的委托类:

    IBOutlet id outletToOtherDelegate;

    只要你低项目是开放的(如通过绿色的泡泡在左下的你笔尖窗口),IB将自动检测的新的出口,并允许你把它分配给其他委托对象中的你笔尖。

可可自动连接这些点在尖负载时间。一旦 awakeFromNib 是呼吁实例代表对象,则可以假设,所有其他目的的笔已实例以及所有口已连接。你不应该承担一个以上的呼叫 awakeFromNib, 然而.

其他提示

我认为您可以创建网上的每一个和跨结合他们,使他们每个人都有相同的所有数据的时间。如果有一个模型对象,他们需要共享,这是非常整洁。我实际上不知道如何做到这一点;我想我看到它在iPhone教程的一个时间!

我不Mac我在我的前面,目前由于我在工作,但它可以结合的一个实例,一位代表一个成员的其他委托?这将类似于结合NSArrayController为成员的另一个控制器类,例如。

然而,根据委托类做,如果这任务是相似的,我可能会只是将它们合并成一类。这将消除这一问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top