【问题标题】:Can't browse Core Data table无法浏览核心数据表
【发布时间】:2014-04-09 04:57:31
【问题描述】:

我正在尝试学习核心数据。在遵循几个在线教程后,我创建了一个示例 iPhone 应用程序。该应用程序运行良好。我可以保存数据并在数据库中搜索。

我遇到的问题是我无法在我的 mac 中浏览数据库。我正在使用“SQLite 数据库浏览器”。在 app 文件夹中有三个 SQLite 文件(扩展名为 .sqlite、.sqlite-shm 和 .sqlite-wal) 我可以打开 .sqlite 文件,但在文件中看不到任何表。 (我认为该表仍在临时文件中。或者是吗?)

无法发布数据库文件夹的屏幕截图,因为我没有足够的声誉:-(

这是我用来保存数据的代码:

NSEntityDescription *entitydesc = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];

NSManagedObject *newPerson = [[NSManagedObject alloc]initWithEntity:entitydesc insertIntoManagedObjectContext:context];

[context hasChanges];

[newPerson setValue: self.firstName.text forKey:@"firstname"];
[newPerson setValue: self.lastName.text forKey:@"lastname"];


NSError *error;
[context hasChanges];
[context save:&error];

_displayLabel.text = [NSString stringWithFormat:@"person added"];

我以前用 SQLite 数据库开发过应用程序,浏览数据库没有任何问题。 在我开始为我的应用程序实现核心数据之前,我想知道这个问题是否会让我头疼。还是我可以忽略。

【问题讨论】:

  • 您的 SQLite 浏览器是否支持 Core Data 自 iOS 7 以来使用的 WAL mode
  • 感谢您的回复马丁。我认为我使用的 SQLite 浏览器不支持 WAL 模式。你知道支持 WAL 模式的浏览器吗?

标签: sqlite core-data


【解决方案1】:

您的 SQLite 文件正在使用 Martin 提到的 WAL 模式。您可以清理数据库以查看数据,或者让它按预期工作。

关于这个话题的进一步讨论可以在CoreData database not showing in sqlite since moving to Xcode 5找到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多