在iPhoneCoreDataRecipes App上寻找教程

时间:2009-06-24 17:16:06

标签: iphone tabbarcontroller iphonecoredatarecipes

我发现很难掌握如何使用iPhoneCoreDataRecipes应用程序中的TabBarController加载和连接视图。

有没有人对如何学习Apple Apple示例App中提供的概念有任何指示? 我已阅读Apple开发者网站上的其他项目。

- (void)applicationDidFinishLaunching:(UIApplication *)application {
   recipeListController.managedObjectContext = self.managedObjectContext;
   [window addSubview:tabBarController.view];
   [window makeKeyAndVisible];
}

我对上述的理解
第2行:填充列表控制器?
第3行:将子视图添加到选项卡控制器视图?

如果我对第3行的理解是正确的,那么其他视图,单位转换,添加到tabcontroller会在哪里?

4 个答案:

答案 0 :(得分:2)

标签栏控制器需要视图控制器列表。我没有看到这个特定的样本,所以它可能由第一行处理。但是,通常您会执行以下操作:

  1. 实例化所有视图控制器:

    UIViewcontroller *viewControllerTab1 = ...
    UIViewcontroller *viewControllerTab2 = ...
    UIViewcontroller *viewControllerTab3 = ...
    
  2. 将它们添加到标签栏控制器:

    tabBarController.viewControllers = 
      [NSArray arrayWithObjects:
         viewControllerTab1,
         viewControllerTab2,
         viewControllerTab3, 
         nil
      ];
    
  3. 然后你将tabBarController的视图作为子视图添加到窗口,然后是窗口makeKeyAndVisible(第2行和第3行)。这些不是特定于选项卡栏,它们只是将选项卡栏视图添加到主应用程序视图,就像任何其他视图控制器一样。

  4. 您也可以在此处指定UITabBarItem详细信息,或者在视图控制器上指定。您应该在此处执行此操作,以便在没有显示标签栏项目时不会遇到任何问题。 I.E.

    viewControllerTab1.tabBarItem = [UITabBarItem init...]
    

答案 1 :(得分:1)

实际上:

第2行:将对managedObjectContext的引用传递给recipeListController。 managedObjectContext是CoreData结构。它包括对持久性存储的引用(通常但不总是,磁盘上的文件[SQLite])和managedObjectModel(项目中的文件)。此上下文允许您针对已保留到数据库的对象模型进行查询。 (因为这个例子是食谱:“获取需要成分”Flour“的所有食谱)。但由于这不是(严格来说)直接数据库查询,返回的”东西“是对象,而不是recordSet中的行。您只能在CoreData应用程序中找到对managedObjectContexts的引用。

第3行:已在上面解释过。这是在应用程序窗口中添加子视图,然后将tabBarController.view配置到该子视图。假设tabBarController之前已使用适当的viewControllers填充。

希望有所帮助。

答案 2 :(得分:0)

该代码闻起来像窗口,并且标签控制器都在NIB中加载。到目前为止,所有东西都已经“连线”了,它正在做的就是设置窗口的子视图并使其成为关键。

这可能会有所帮助。在XCode中创建一个基于选项卡的新应用程序,并查看它的作用。它将同时具有NIB加载和代码定义的视图,因此您可以看到差异。

答案 3 :(得分:0)

我认为您正在寻找的是我遇到的在Interface Builder中加载视图的问题,而不是代码。

所以步骤是:

1:打开mainwindow.xib

2:将视图模式设置为列视图

what the view mode select looks like

3:打开标签栏控制器并向下导航到标签元素

enter image description here

4:设置身份的类

what the class should look like

我一直试图连接主要标签本身,但你需要更加具体!

希望这有帮助!