データモデルとコアデータを既存のプロジェクトに追加しました。オブジェクトを書き込んで保存/挿入できますが、 。私は間違って何をしていますか? Core Dataの仕組みを誤解していますか?コアデータ - 最初に挿入することなくフェッチできません
私はオブジェクトを挿入して、以下のコードで目的の結果を得ることができますが、最初に挿入することなくオブジェクトを取得することはできません。私はアプリがそれを覚えているように "トークン"を保存したい。
let dc = DataController()
let moc = dc.managedObjectContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Token")
//fetchRequest.returnsObjectsAsFaults = false
do {
let entities = try moc.fetch(fetchRequest) as! [NSManagedObject]
print(entities.count) // prints 0
print(entities) // prints []
for entity in entities {
print(entities.count) // these dont work because of 0 results
print(entity) // these dont work because of 0 results
}
} catch {
print("could not fetch")
}
デバッグログは:
0
[]
CoreData: annotation: Connecting to sqlite database file at "/Users/xxxx/Library/Developer/CoreSimulator/Devices/1231231-123123-123123-123123-123123123/data/Containers/Data/Application/123123-123123-123123-123123-123123123/Documents/DataModel.sqlite"
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_METADATA'
CoreData: sql: pragma recursive_triggers=1
CoreData: sql: pragma journal_mode=wal
CoreData: sql: SELECT Z_VERSION, Z_UUID, Z_PLIST FROM Z_METADATA
CoreData: sql: SELECT TBL_NAME FROM SQLITE_MASTER WHERE TBL_NAME = 'Z_MODELCACHE'
CoreData: annotation: Disconnecting from sqlite database.
私はsqliteのファイルを開いていると私は前に挿入したオブジェクトが存在します。
は、なぜあなたは、あなたが取得することができますと思いますか空のデータベースからのデータ? – shallowThought