ManagedObjectContext中

ManagedObjectContext中

我正在使用Swift学习Core Data,我想查看一下ManagedObjectContext中当前保存的内容。 viewDidLoad()包括println(managedObjectContext!),它将<NSManagedObjectContext: 0x1701f8500>之类的内容输出到控制台。

我如何查看LogItem的实际属性是什么?

谢谢

最佳答案

托管对象未保存在NSManagedObjectContext中。它们被保存在持久存储(如SQLite数据库)中。 NSManagedObjectContext用于将持久性存储中的托管对象加载到内存中并对其进行更改。然后,您可以将更改保存回持久性存储中或丢弃它们。

如果要将持久性存储中的托管对象(称为YourEntity的实体的实例)加载到NSManagedObjectContext中,请使用NSFetchRequest:

let fetchRequest = NSFetchRequest(entityName: "YourEntity")
if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) {
    println(fetchResults);
}

如果要查看当前已加载到NSManagedObjectContext中的对象,可以使用registeredObjects方法。如果只想查看更新/插入/删除的对象,则有一些方法称为updatedObjectsinsertedObjectsdeletedObjects

10-08 09:32