iphone标签栏控制器和核心数据

Swa*_*way 13 iphone xcode core-data uinavigationcontroller tabbarcontroller

好一点新手类型的问题.

我想使用Core Data以及Tab和Navigation控制器.

在XCode中,如果我创建基于导航的应用程序,我可以选择核心数据.而如果我创建一个标签栏应用程序,我无法做出选择.

我知道Tab Bars显示视图控制器,所以它有点意义.但是,鉴于默认情况下它将基本的核心数据代码粘贴在应用程序委托中,我不明白为什么不提供此代码.

目前我正在创建这两个项目并在它们之间剪切和粘贴.

XCode中的这个遗漏对你来说有点奇怪吗?这是某种疏忽吗?

谢谢,马特

Pet*_*eld 12

我遇到了同样的问题,最后创建了一个tabBar应用程序并在以后添加了核心数据.

为此,我做了:

  1. 将coredata框架添加到我的项目中
  2. 将#import <CoreData/CoreData.h>添加到myproject_Prefix.pch
  3. 添加声明以委托标头和getter实现,就像支持核心数据的模板一样
  4. 创建模型文件 - 将文件添加到资源组(或者您希望放置模型的位置)并创建数据模型文件.

这将使您与核心数据支持模板的目标相同.

对于您的特定情况(带有tabbar的核心数据),Apple有一个很好的示例应用程序:

http://developer.apple.com/iphone/library/samplecode/iPhoneCoreDataRecipes/index.html

这显示了它们如何将上下文传递给xib文件中定义的相关视图控制器,这是让我筋疲力尽的事情.

希望这可以帮助.

干杯,彼得


小智 7

您可以自己添加它,这很简单:

要修改标签栏模板设置,您必须打开以下文件

对于XCode 4.2:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Tabbed Application.xctemplate/TemplateInfo.plist
Run Code Online (Sandbox Code Playgroud)

要添加核心数据选项,您必须将属性" com.apple.dt.unit.coreDataCocoaTouchApplication" 添加到Ancestors键:

添加属性后,它应如下所示:

<key>Ancestors</key>

<array>
<string>com.apple.dt.unit.storyboardApplication</string>
<string>com.apple.dt.unit.coreDataCocoaTouchApplication</string>
</array>
Run Code Online (Sandbox Code Playgroud)

对于以前的XCode版本

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Tab Bar Application.xctemplate/TemplateInfo.plist
Run Code Online (Sandbox Code Playgroud)

要添加核心数据选项,您必须将属性" com.apple.dt.unit.coreDataCocoaTouchApplication" 添加到Ancestors键:

添加属性后,它应如下所示:

<key>Ancestors</key>

<array>
<string>com.apple.dt.unit.cocoaTouchFamiliedApplication</string>
<string>com.apple.dt.unit.coreDataCocoaTouchApplication</string>
</array>
Run Code Online (Sandbox Code Playgroud)

重启Xcode!

一切都应该现在正常工作:!! 当您在Xcode中创建新的选项卡式项目时,您可以看到Core Data选项.


Tim*_*ers 6

模板设计为更"纯粹",模板的任何组合都留给开发人员练习.

他们可以做一个CoreData + Tab和Nav Controller模板,但为了公平起见,他们必须做其他可能"合理"的组合.

自己组合并不是那么难,开发中心的示例应用程序会显示工作应用程序中的一些组合.