0

首先,我对 iOS 和 Xcode 真的很陌生。我已经完成了几个演示,并在开发站点上阅读了很多内容。

我当前的应用程序以导航控制器 > 表格视图控制器(主视图)> 详细视图开始。这是表格视图中的一个基本菜单,可以深入到显示图片、价格、描述等的项目详细信息。我(主要)遵循了 iOS 开发库“你的第二个 iOS 应用程序”中的教程https://developer.apple.com /library/ios/#documentation/iPhone/Conceptual/SecondiOSAppTutorial/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011318-CH1-SW1 此外,我确实对布局和属性进行了一些实现更改,但是在最后它完美地运行。

现在,事后,我决定我不喜欢应用程序的入口点是表格视图。相反,我更喜欢使用其他一些按钮进入视图控制器,其中一个按钮会将您带到菜单。

我的问题如下;我删除了导航控制器和表格视图之间的关系“根视图控制器”,然后我将它从导航控制器重新连接到我的新视图。我认为将带有 push segue 的按钮链接到旧表视图。现在应用程序仍然可以正常构建,但是它在运行时崩溃并出现以下错误“-[UIViewController setDataController:]: unrecognized selector sent to instance 0x6a6ed60 2012-05-09 16:51:28.618 [16513:f803] * Terminating app due to未捕获的异常 'NSInvalidArgumentException',原因:'-[UIViewController setDataController:]:无法识别的选择器发送到实例 0x6a6ed60' *第一次抛出调用堆栈:“

看来二传手得到了一些不好的数据。所以我猜这是旧的rootview无效的问题,我真的没有足够的知识来解决这个问题。请帮忙。

抱歉,没有代表张贴图片,如果您需要一张,请告诉我,我会在某处托管。

4

2 回答 2

0

该错误告诉您作为初始屏幕的 UIViewController 不知道 setDataController 的含义。您可以通过子类化 UIViewController(称为 FirstViewController 或其他名称)然后将初始视图控制器的类设置为情节提要中的该子类来解决此问题。然后,在标题中,给您的 FirstViewController 一个 property @property (nonatomic, strong) DataController *dataController。可能需要更多步骤才能启动并运行它,但主要是您应该使用 UIViewController 的子类,而不是类本身的实例。

于 2012-05-10T00:07:05.330 回答
0

返回到您的表格视图作为根的最后一个版本。只需在故事板上拖动一个新的 viecontroller 即可。然后你会看到一个指向表格视图的箭头,将该箭头拖到新的视图控制器上。

于 2012-05-10T00:19:23.650 回答