我正在使用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
方法。如果只想查看更新/插入/删除的对象,则有一些方法称为updatedObjects
,insertedObjects
和deletedObjects
。