这是我的测试代码,我真的不明白为什么 print("db2: (prod)")
写下我的元素具有属性 belok = 10000
。但是我没有保存上下文,因此在DB中没有更改,没关系。我试图了解互动DB和我的数组arrDBProducts
。
var arrDBProducts: [DB_Product]
func test() {
let fetchRequest: NSFetchRequest<DB_Product> = DB_Product.fetchRequest()
do {
let prods = try CoreDB.context.fetch(fetchRequest)
for prod in prods {
print("db1: (prod)")
}
}
catch {}
arrDBProducts[0].belok = 10000
print("array: (arrDBProducts)")
let fetchRequest2: NSFetchRequest<DB_Product> = DB_Product.fetchRequest()
do {
let prods = try CoreDB.context.fetch(fetchRequest2)
for prod in prods {
print("db2: (prod)")
}
}
catch {}
}
您没有保存上下文,因此一旦您关闭并打开应用程序,或者如果您尝试从其他上下文中访问它 - 您将看不到更改。p>但是,当您在一个上下文中工作时 - 您的更改将存在直到上下文发布。