将iOS4项目集成到iOS5项目中

时间:2012-06-28 07:46:54

标签: iphone ios5 ios4 storyboard integration

我有一个关于集成两个iOS应用程序的新手问题。我已经在iOS 5中创建了一个应用程序(我的第一个应用程序,所以我对iOS 4没有任何了解,除了事实上有xibs文件而不是故事板,而且还没有包括ARC)。 现在我必须在我的iOS 5应用程序中包含一个较旧的独立应用程序(针对iOS 4,带有xib和非ARC)。让我们说,在主菜单视图的应用程序中,将会有一个新按钮打开另一个应用程序的主菜单。

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

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

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

1 个答案:

答案 0 :(得分: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];

旧的应用程序主视图控制器应该有一个名为function的nub的init,所以它应该工作。如果这不起作用,请尝试以下内容:

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

其中NIB名称是没有扩展名的.xib文件名。

还要确保界面构建器中的所有连接都已正确设置