显示 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 记录的主要内容,如果未能解决你的问题,请参考以下文章
iOS swift:使用 coredata (cloudkit) 存储缓存