- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
天哪!我搞砸了!
我是 Core Data 菜鸟,正在开发我的第一个 iOS 应用程序。经过多次堆栈溢出后,我正在使用这段代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"momd"];
if (!path) {
path = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"mom"];
}
NSAssert(path != nil, @"Unable to find Resource in main bundle");
CoreData 是我的应用程序的名称。
我试图通过在我的 iPhone 模拟器中找到 sqlite 文件的路径,然后将其插入到该 sqlite 文件中,将初始数据放入应用程序。但在某个时候,我移动了 sqlite(认为它会创建一个新副本),从模拟器中删除了应用程序,然后 sqlite 文件就消失了。我不确定我是否遗漏了过程的某些部分(这是几个小时前的事),但最终结果是一切都搞砸了。
我如何重新证实这个 sqlite/momd 文件? “清理”和“清理所有目标”显示为灰色。
我很高兴从我的应用程序中发布相关代码,这将有助于阐明这个问题,但是有大量与我不理解的核心数据相关的代码,所以我不确定要发布哪一部分!非常感谢任何帮助。
最佳答案
这里有一些建议:
您为获取 .mom(d)
文件而发布的代码并不是推荐的方式。使用 mergedModelFromBundles
代替,如
self.managedObjectContent= [NSManagedObjectModel mergedModelFromBundles:nil];
它负责获取路径、选择/合并正确的 mom
或 momd
,以及一步一步初始化 MOC。您应该使用它。但请注意,您需要偶尔清理构建过程,如 this SO question/answer 中所述。 .
这表明,虽然通过 StackOverflow 进行爬网通常是好的,但当您处理像 CoreData 这样的大型框架时,这并不是最好的方法。
老实说,花一天时间阅读 the documentation从头到尾。您可能想搜索一些代码并立即开始编码,但从长远来看,通读文档肯定会大大节省开发时间。
另外,Marcus Zarra 的 CoreData 一书(参见 here)对我帮助很大。它可能看起来很贵,但绝对值得。
在另一个话题上,我认为将预煮的 sqlite 文件放入模拟器的目录(在 ~/Library/Application Support/iPhone Simulator/
) 甚至用于开发目的...因为它不能在真实设备上运行。如果您需要这样做,请将 sqlite 文件作为应用程序的资源,并在启动时将其复制到 Documents
或 Caches
,然后使用它。
关于iphone - 找不到 momd 文件 : Core Data problems,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4536414/
最近,我在大量处理核心数据,而让我感到烦恼的是,您创建了一个.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
我是一名优秀的程序员,十分优秀!