我目前使用Magic记录和动态框架来处理我的数据库。但是,过去两天我一直坚持同样的问题。我无法获得具有嵌入式框架的主应用程序来创建任何类型的实体。上下文被创建但是当我尝试执行获取请求时,我找不到实体。我尝试使用共享容器来共享妈妈文件,尝试使用自带类的nsbundle,尝试对包ID进行硬编码并获取资源的url,仍然没有运气。妈妈文件肯定是在框架中复制的,因为我将它包含在复制源文件中。任何人都有运气好运吗?
尝试以下操作:(我认为我们需要sqlite文件)
NSURL *storeURL = [[NSBundle bundleWithIdentifier:@"bundleid"] URLForResource:@"model" withExtension:@"momd"];
[MagicalRecord setupCoreDataStackWithStoreAtURL:storeURL]
答案 0 :(得分:0)
您的代码中存在错误,
.ui-menu .ui-menu-item a.ui-state-focus {
margin: 0px;
}
使用MagicalRecord,初始化非常简单,
// this is data model, not Persistent Store URL
NSURL *storeURL = [[NSBundle bundleWithIdentifier:@"bundleid"] URLForResource:@"model" withExtension:@"momd"];
[MagicalRecord setupCoreDataStackWithStoreAtURL:storeURL]; // expect persistent store url
在MagicalRecordInternal.m中,你会发现一些很多灵感的代码,如下所示,
// which will collect and merge all data models in the main bundle
[MagicalRecord setupCoreDataStackWithStoreNamed:@"my.sqlite"]
更多详情,
如果您创建一个名为" tmp"的新 Swift 项目。使用coreData,您将在AppDelegate.swift中看到类似的内容。
// *modelClass* can be any class in your dynamic framework
+ (void) setDefaultModelFromClass:(Class)modelClass;
{
NSBundle *bundle = [NSBundle bundleForClass:modelClass];
NSManagedObjectModel *model = [NSManagedObjectModel mergedModelFromBundles:[NSArray arrayWithObject:bundle]];
[NSManagedObjectModel MR_setDefaultManagedObjectModel:model];
}
没有名为lazy var managedObjectModel: NSManagedObjectModel = {
// The managed object model for the application. This property is not optional. It is a fatal error for the application not to be able to find and load its model.
let modelURL = NSBundle.mainBundle().URLForResource("tmp", withExtension: "momd")!
return NSManagedObjectModel(contentsOfURL: modelURL)!
}()
的文件; Xcode创建的是tmp.momd
。适当的方法是tmp.xcdatamodeld
,它将搜索名为xx.momd