好一点新手类型的问题。
我想使用Core Data以及Tab和Navigation控制器。
在XCode中,如果我创建基于导航的应用程序,我可以选择核心数据。然而,如果我创建一个标签栏应用程序,我就无法做出选择。
我知道Tab Bars显示视图控制器,所以它有点意义。但是,默认情况下,它会将基本的核心数据代码粘贴到应用程序委托中,但我不明白为什么不提供此代码。
目前我正在创建这两个项目,并在它们之间切割和粘贴。
XCode中的遗漏对您来说是否有点奇怪?这是某种疏忽吗?
谢谢, 马特
答案 0 :(得分:12)
我遇到了同样的问题,最后创建了一个tabBar应用程序并稍后添加了核心数据。
要做到这一点,我已经:
这将使您与核心数据支持模板的目标相同。
对于您的特定情况(带有tabbar的核心数据),Apple有一个很好的示例应用程序:
http://developer.apple.com/iphone/library/samplecode/iPhoneCoreDataRecipes/index.html
这显示了它们如何将上下文传递给定义的相关视图控制器 在xib文件中,这让我有一段时间了。
希望这有帮助。
干杯, 彼得
答案 1 :(得分:7)
您可以自己添加它,这很简单:
要修改标签栏模板设置,您必须打开以下文件
对于XCode 4.2:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Tabbed Application.xctemplate/TemplateInfo.plist
要添加核心数据选项,您必须将属性“ 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>
对于以前的XCode版本
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/Application/Tab Bar Application.xctemplate/TemplateInfo.plist
要添加核心数据选项,您必须将属性“ 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>
重启Xcode!
现在一切都应该正常工作:!!当您在Xcode中创建一个新的选项卡式项目时,您可以看到Core Data选项。
答案 2 :(得分:6)
模板设计为更“纯粹”,模板的任何组合都留给开发人员练习。
他们可以做一个CoreData + Tab和Nav Controller模板,但为了公平起见,他们必须做其他可能“合理”的组合。
自己组合并不是那么难,开发中心的示例应用程序会显示工作应用程序中的一些组合。
答案 3 :(得分:3)
详细介绍了将Core数据添加到基于标签的iOS应用程序的过程。
答案 4 :(得分:2)
不得不这样做,我认为最简单的方法是创建一个“基于窗口的应用程序”,然后在AppDelegate中声明一个tabBarController,如下所示:
AppDelegate.h
@interface CommUnityAppDelegate : NSObject <UIApplicationDelegate> {
UITabBarController *tabBarController; // add this
UIWindow *window;
}
// and this
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
在MainWindow.xib中插入一个TabBarController并将其与AppDelegates tabBarController连接。
之后,通过添加以下行
使其可见AppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:tabBarController.view]; // add this
[window makeKeyAndVisible];
}
这为您提供了基本设置,您可以从中轻松添加带有界面构建器的导航控制器