0

我有一个关于集成两个 iOS 应用程序的新手问题。我在 iOS 5 中创建了一个应用程序(我的第一个应用程序,所以我对 iOS 4 没有任何了解,除了有 xibs 文件而不是情节提要并且不包括 ARC 的事实)。现在我必须在我的 iOS 5 应用程序中包含一个较旧的独立应用程序(为带有 xibs 和非 ARC 的 iOS 4 而构建)。可以说,在我的应用程序的主菜单视图中,将有一个新按钮打开另一个应用程序的主菜单。

所以我做了一些研究,找出如何通过 fno-objc-arc 标志禁用 ARC。好的,现在我已经将第二个应用程序的所有文件导入到我的应用程序中,并且所有类都设置了标志。我仍然可以毫无问题地运行我的应用程序。

现在我不知道如何让我的新按钮打开旧应用程序的 mainViewController - 这个应用程序有 MainWindow.xib(包含一个窗口和一个导航控制器)。此 MainWindow 在旧项目中设置为 Main Interface。appMainDelegate 文件中也有一些初始化调用。我在哪里可以在我的应用程序中调用它们?

谁能告诉我需要做什么。我有一个想法,我将只添加一个新的 UIViewController 到我的情节提要中。这将是旧应用程序的起点,并且一切都将像以前一样工作。或者我是否必须在我的故事板中创建更多控制器(对于每个 xib)?这是我不知道该怎么做的地方。任何帮助都非常感谢。谢谢你

4

1 回答 1

0

尝试执行以下操作,任何类似或类似的操作都应该有效:

在按钮(称为新按钮的那个)的方法中,让它执行以下代码:

OldAppMainViewController *controller = [[OldAppMainViewController alloc] init];
//Here you can assign vallues to any properties that you might want to
[self.navigationController pushViewController:controller animated:YES];

旧的应用程序主视图控制器应该有一个带有 nub 命名函数的 init,所以它应该可以工作。如果这不起作用,请尝试以下方法:

OldAppMainViewController *controller = [[OldAppMainViewController alloc] initWithNibName:@"OldAppMainViewController" bundle:nil];

其中 NIB 名称是不带扩展名的 .xib 文件名。

还要确保接口生成器中的所有连接都设置正确

于 2012-06-28T07:54:26.357 回答