如何在另一个视图中使用已经初始化的类?

Posted

技术标签:

【中文标题】如何在另一个视图中使用已经初始化的类?【英文标题】:How to uses already initialized class in another View? 【发布时间】:2012-08-13 13:35:06 【问题描述】:

我正在制作一个带有多个标签视图的 ios 应用。其中两个视图使用相同的视图控制器,因此它们都有一个实例。我想知道是否可以只为两个视图使用视图控制器的一个实例。我想这样做的原因是因为我在一个使用 GameKit 对等选择器的视图上有一个“连接”和“断开连接”按钮,而我在另一个必须使用我从创建的会话的视图上有一个“发送文件”带有连接按钮的其他视图。

【问题讨论】:

【参考方案1】:

在属于 tabBarController 的任何 viewController 中:

UIViewController *vc1 = [self.tabBarController.viewControllers objectAtIndex:0];
MyCustomClass *sharedObject = [vc1 theObject];
UIViewController *vc2 = [self.tabBarController.viewControllers objectAtIndex:1];
[vc2 setTheObject:sharedObject];

您应该为两个视图控制器的“theObject”设置@property

【讨论】:

您好,所以在我的标签栏 controller.m 或 .h 中添加上面的代码 不,您不要在 tabBarController 上添加代码。您将代码添加到 UIVIewController 子类 嗨,如果你能解释一下我应该怎么做,我已经尝试了一切,但没有成功。我还用什么方法或功能发布上述内容?

以上是关于如何在另一个视图中使用已经初始化的类?的主要内容,如果未能解决你的问题,请参考以下文章

连接到已经初始化的视图控制器

xctest 如何在另一种测试方法中使用在一种测试方法中捕获的数据

Cocoa - 如何以编程方式初始化视图?

在 awakeFromNib() 方法中添加约束

如何从不同的类初始化方法中的列表项?

Java Scanner 没有在一个 string() 中初始化,即使它在另一个中初始化