Mus*_*afa 19 core-data ios xcode4
重命名.xcdatamodel文件需要做什么.重命名.xcdatamodel文件名,以及更改...
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"newfilename" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
Run Code Online (Sandbox Code Playgroud)
和
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"newfilename.sqlite"];
Run Code Online (Sandbox Code Playgroud)
不起作用!我收到以下错误:
2011-04-11 17:19:54.164 ProjectName[5826:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
*** Call stack at first throw:
(
0 CoreFoundation 0x00fa15a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x010f5313 objc_exception_throw + 44
2 CoreData 0x00013853 -[NSPersistentStoreCoordinator initWithManagedObjectModel:] + 419
3 ProjectName 0x00003471 -[ProjectNameAppDelegate persistentStoreCoordinator] + 257
4 ProjectName 0x000031a4 -[ProjectNameAppDelegate managedObjectContext] + 100
5 ProjectName 0x000028ca -[ProjectNameAppDelegate makeSplitViewController] + 762
6 ProjectName 0x00002d44 -[ProjectNameAppDelegate application:didFinishLaunchingWithOptions:] + 68
7 UIKit 0x001f3c89 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
8 UIKit 0x001f5d88 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
9 UIKit 0x00200617 -[UIApplication handleEvent:withNewEvent:] + 1533
10 UIKit 0x001f8abf -[UIApplication sendEvent:] + 71
11 UIKit 0x001fdf2e _UIApplicationHandleEvent + 7576
12 GraphicsServices 0x018f9992 PurpleEventCallback + 1550
13 CoreFoundation 0x00f82944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
14 CoreFoundation 0x00ee2cf7 __CFRunLoopDoSource1 + 215
15 CoreFoundation 0x00edff83 __CFRunLoopRun + 979
16 CoreFoundation 0x00edf840 CFRunLoopRunSpecific + 208
17 CoreFoundation 0x00edf761 CFRunLoopRunInMode + 97
18 UIKit 0x001f57d2 -[UIApplication _run] + 623
19 UIKit 0x00201c93 UIApplicationMain + 1160
20 ProjectName 0x00002599 main + 121
21 ProjectName 0x00002515 start + 53
)
terminate called after throwing an instance of 'NSException'
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用Xcode4.
Mic*_*han 26
有一个名为.xccurrentversion的隐藏文件,该文件应与whatever.xcdatamodeld文件位于同一位置.里面有一个对你的模型的引用,需要使用新名称进行更新.
在某些情况下,您必须从项目中删除.xcdatamodeld文件并再次添加以使其正常工作.
Bry*_*jar 22
我一直遇到与Xcode 4相同的问题.不知道Xcode 3中的行为是什么.
首先,当您在xcode中添加核心数据模型时,您实际上会得到一个.xcdatamodeld文件,它是一个类似.xcodeproj文件的包.在finder中,您可以右键单击它并"显示包内容".你会看到它包含一个.xcdatamodel文件.
在我看来,你无法使用xcode完全重命名它.Xcode会改变你在UI中看到的包文件(momd)的名称,但在文件系统上它实际上并没有改变.
你得到的nil模型错误是因为它无法找到newfilename,因为它仍然在磁盘上有旧名称.(我猜)
我通过使用我想要的名称创建一个新模型来解决这个问题,然后在现有模型中,您可以单击并拖动并选择您的实体,然后将它们粘贴到新模型文件中.然后,您可以删除旧的并将所有更改提交到SCM.
小智 7
感谢大家帮助我最终确定了这个.以下是我在Xcode 4.2中重命名项目后修复此问题的方法:
1)删除项目中*.xcdatamodeld文件的引用.如果它像我的一样,当你选择它时,编辑器将不会加载.这告诉我重命名时链接已断开.
2)右键单击项目的.xcdoeproj文件,然后选择"显示包内容".
3)将您在那里找到的*.xcdatamodeld文件拖回到项目中.完成.
我的应用程序构建
归档时间: |
|
查看次数: |
12050 次 |
最近记录: |