首次启动我的应用时,我想创建一些新用户将看到的示例数据。我希望他们在导航控制器中启动一个级别(可能更多),如下所示:
tableViewController0 - > tvc1(用户从这里开始)
想象一下将文件夹作为其顶级导航的便笺应用。您可能希望首先在示例文件夹中向用户显示一些示例注释,然后让他/她稍后返回并创建新文件夹。
我的想法是,我会在application didFinishLaunchingWithOptions
中运行一个检查首次启动的方法(检查/设置Bool
中的NSUserDefaults
)然后,如果我们在首次启动,创建一些示例数据。然后我想我可以创建每个视图控制器并设置我的UINavigationController
的{{1}}属性,但是我收到了这个错误:
'NSInternalInconsistencyException',原因:'无法使用标识符Cell将单元格出列 - 必须为标识符注册一个nib或类,或者在故事板中连接一个原型单元'
(单元格在故事板中确实有一个标识符viewControllers
,如果我事先没有创建数据并查看控制器,则可以正常工作。)
我的AppDelegate的一些示例代码:
Cell
我是否可以通过其他方式进行设置,以便用户可以直接跳到填充的导航堆栈而不必从顶层开始?
答案 0 :(得分:0)
您正在使用故事板,这意味着您有一个初始视图控制器。
将此初始视图控制器设为UINavigationController
,rootViewController
为某个SetupViewController
,其中所有检查逻辑都会发生。在其中显示UIActivityIndicatorView
或任何加载动画。然后,根据您找到的内容,按下虚拟备注屏幕或顶级文件夹屏幕。
在故事板中,您将从SetupViewController
创建两个segue - 一个到音符,一个到文件夹。给每个segue自己的名字。您可以在代码中调用performSegueWithIdentifier
来确定推送哪个屏幕。