我正在用Swift學習Core Data,我想看看當前保存在我的ManagedObjectContext中的內容。 viewDidLoad()包括println(managedObjectContext!)
,它向控制檯輸出類似<NSManagedObjectContext: 0x1701f8500>
的內容。顯示來自核心數據的屬性ManagedObjectContext
我如何看到我的LogItem的實際屬性是什麼?
感謝
我正在用Swift學習Core Data,我想看看當前保存在我的ManagedObjectContext中的內容。 viewDidLoad()包括println(managedObjectContext!)
,它向控制檯輸出類似<NSManagedObjectContext: 0x1701f8500>
的內容。顯示來自核心數據的屬性ManagedObjectContext
我如何看到我的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
。
_NSManagedObjectContext_
通過實際加載相同的環境下這些對象到內存管理_NSManagedObjects_
。所以如果你想顯示你的對象模型的內容,那麼你可以訪問managedObjectContext的_registeredObjects_
屬性。但請記住,它只會招募/所有已加載到上下文的對象。
println(managedObjectContext!.registeredObjects);
您可以看到託管對象上下文作爲您使用模型對象的工作臺。你加載它們,操縱它們,並將它們保存在工作臺上。加載和保存由持久性商店協調員調解。
let fetchRequest = NSFetchRequest(entityName: "Entity")
if let fetchResults = managedObjectContext!.executeFetchRequest(fetchRequest, error: nil) as? [Entity] {
for info in fetchResults {
println(info.valueForKey("attribute"));
}
}