- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的应用程序使用 CoreData
,模型名为:mupo-ios.xcdatamodel
。该模型是原始模型的第二个版本:Model.xcdatamodeld。我通过文档使用 managedObjectContext
:
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"MyDocument"];
self.document = [[UIManagedDocument alloc] initWithFileURL:url];
// Set our document up for automatic migrations
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
self.document.persistentStoreOptions = options;
}
然后,我访问 managedObjectContext
:
self.managedObjectContext = self.document.managedObjectContext;
现在,我想直接访问主上下文,代码如下:
- (NSManagedObjectContext *)mainContext {
if (!_mainContext) {
_mainContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
_mainContext.persistentStoreCoordinator = self.persistentStoreCoordinator;
}
return _mainContext;
}
问题是当我尝试指定 managedObjectModel
时:
- (NSManagedObjectModel *)managedObjectModel {
if (!_managedObjectModel) {
NSString *localModelPath = [[NSBundle mainBundle] pathForResource:@"mupo-ios" ofType:@"momd"];
NSURL *modelUrl = [NSURL fileURLWithPath:localModelPath];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelUrl];
}
return _managedObjectModel;
}
找不到 momd 的文件,因此无法初始化 managedObjectModel
。有人可以帮助我吗?
最佳答案
这个问题是在一个复杂的场景下发生在我身上的。我在一个工作区中有两个 xcodeproj。
我试图在第二个项目中使用相同的 xcdatamodeld 文件通过将它从第一个项目拖到 xcode 中的第二个项目。这正确地创建了一个引用,但即使将文件添加到“编译资源”,也没有创建 modm 文件。
解决方案是将 xcdatamodeld 从 Finder 直接拖放到第二个项目,而不是从 xcode 中的第一个项目拖放。
关于ios - 找不到 '.momd' 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393760/
最近,我在大量处理核心数据,而让我感到烦恼的是,您创建了一个.xcdatamodeld来创建您的基本结构,然后通过xcode将其转换为.momd文件。 我的问题是:是否可以通过编程方式进行转换,而不是
我的应用程序使用 CoreData,模型名为:mupo-ios.xcdatamodel。该模型是原始模型的第二个版本:Model.xcdatamodeld。我通过文档使用 managedObjectC
我使用 Core Data 创建了一个主从应用程序。并且有一个简单的代码获取模型文件的路径: NSURL *modelURL = [[NSBundle mainBundle] URLForResour
大家好,我看到了this有疑问并用过 self.managedObjectContent= [NSManagedObjectModel mergedModelFromBundles:nil]; 但是,
对于我使用 CoreData 的 iOS 应用程序,我需要一个模型,其中某些实体属性在应用程序的 iPhone 和 iPad 版本之间有所不同。为此,我使用 initWithContentsOfURL
天哪!我搞砸了! 我是 Core Data 菜鸟,正在开发我的第一个 iOS 应用程序。经过多次堆栈溢出后,我正在使用这段代码: NSString *path = [[NSBundle mainBun
我在 iOS 9.0、iPhone4 Simulator 和 Xcode 9.2 中使用 Core 数据。 加载 momd 文件时应用程序崩溃并显示 nil 值。 尽管我已经添加了 Address.x
我最近将应用程序的语法从 Swift 2 升级到 Swift 3,应用程序现在崩溃并出现致命的错误: unexpectedly found nil while unwrapping an Option
在我的 iOS 应用程序中打开加载 map View 时出现错误。 map View 加载正常并出现在屏幕上,但是它没有加载到我初始化 map View 时设置的位置。 这是我用来实现 map Vie
我是一名优秀的程序员,十分优秀!