显示 CoreData 记录

Posted

技术标签:

【中文标题】显示 CoreData 记录【英文标题】:Display CoreData Records 【发布时间】:2010-10-27 18:22:09 【问题描述】:

我使用 Coredata 创建了一个应用程序。我创建了一个 XML 文件并将所有数据存储到 XML 文件中。然后使用 coredata 我将它们存储到数据库中。

现在我想查看核心数据中的所有记录。我的应用程序创建一个 sqlite 文件。但是如果我在 sqlite 中使用 select 命令,则不会显示任何记录。但它显示“没有错误”。

有什么方法可以从核心数据或 Sqlite 中查看我的记录?

【问题讨论】:

在终端或 UITableView 中显示记录? 我想在 UITableView 中显示记录。 【参考方案1】:

我遇到了同样的问题,需要调查由 coredata 创建的 sqlite db。我使用了免费的 Sqlite 数据库浏览器。 http://sqlitebrowser.sourceforge.net/

并浏览到sqlite文件所在的路径。

【讨论】:

我知道 sqlite 文件路径。我在 sqlite Software 中打开 sqlite。但是在 sqlite 应用程序中没有要显示的记录。但是我通过我的程序代码获取了所有记录,并在 UITableView 中显示了所有记录。但是所有记录都是随机显示的,而不是按输入的顺序(顺序)。我的问题是我想查看我输入的所有记录。 这里有一个很好的链接,可以使用核心数据并在 uitableview 中查看。我相信作者最初也是使用xml的。 blog.sallarp.com/iphone-core-data-uitableview-drill-down【参考方案2】:

显示/列出当前在数据库中的所有对象

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
    entityForName:@"UserInfo" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *info in fetchedObjects) 
    NSLog(@"First Name: %@", [info valueForKey:@"firstname"]);
    NSManagedObject *details = [info valueForKey:@"address"];
    NSLog(@"Zip: %@", [details valueForKey:@"zip"]);

【讨论】:

以上是关于显示 CoreData 记录的主要内容,如果未能解决你的问题,请参考以下文章

停止删除特定的 CoreData 记录?

iOS swift:使用 coredata (cloudkit) 存储缓存

SwiftUI 中会话之间的选定 CoreData 记录

Swift,CoreData 没有插入记录

无法将 ForEach 用于来自 coredata 的不同记录

如何更改coredata中的记录顺序?