在我很好奇为什么执行似乎停在下一行之后,没有在Xcode模拟器上使用Core Data(见下文)。这在设备上运行正常,但在模拟器[[self managedDocument] documentState]
上返回(null)
。我怀疑这是因为模拟器使用Mac而不是在磁盘上创建数据库,但我只是想检查以确保在实际设备上运行时我不会发生某些事情。
if([[self managedDocument] documentState] == UIDocumentStateNormal) {
[self scanDataFromServer:kALL_REACTOR_TEMPS];
}
注意:
我不需要在模拟器上运行,我只想查看应用程序如何使用更大的iPhone5屏幕运行,而Apple则将实际设备发送给我。
同时
答案 0 :(得分:2)
首先,UIDocumentState
是一个NSInteger枚举 - 它永远不能为零或为空。它可以是未初始化的(垃圾),也可以是零。
我不确定你的意思是什么:
我怀疑这是因为模拟器使用Mac而且是 不在磁盘上创建数据库
模拟器使用计算机的硬盘驱动器作为磁盘,存储系统在模拟器和设备之间没有区别。当然,您的应用程序在模拟器上具有与在设备上不同的根文件夹路径,但这并不重要。您可以在mac上的apps文件夹中找到数据库文件,该文件夹位于~/Library/Application Support/iPhone Simulator/
的某个位置。
我会在创建UIDocument
之后仔细检查它,并确保它不是nil
。另外,记录文档的fileURL
并在您的计算机上找到该文件以确保它存在。