CoreData是蘋果自帶的一種持久化數(shù)據(jù)存儲的方式笙以,網(wǎng)上很多人說使用起來麻煩,其實正真使用后發(fā)現(xiàn)還是蠻方便的犁珠,又是系統(tǒng)自帶的,其實我還是蠻推薦使用的
-
添加數(shù)據(jù)操作
func addDemo() {
let entity: NSEntityDescription = NSEntityDescription.entity(forEntityName: "DemoModel", in: CONTEXT)!
let model = DemoModel(entity: entity, insertInto: CONTEXT)
model.id = "1"
model.title = "數(shù)據(jù)模型添加數(shù)據(jù)"
do {
try CONTEXT.save()
}catch {
print("添加數(shù)據(jù)失敗:\(error.localizedDescription)")
}
}
-
刪除數(shù)據(jù)
func deleteDemo() {
let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
do {
let array = try CONTEXT.fetch(request)
for model in array {
CONTEXT.delete(model)
}
try CONTEXT.save()
}catch {
print("刪除數(shù)據(jù)失敗\(error.localizedDescription)")
}
}
-
查詢數(shù)據(jù)
func findDemo() {
let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
//條件查詢:id==1的數(shù)據(jù)
let predicate: NSPredicate = NSPredicate(format: "id = %@", "1")
request.predicate = predicate
//排序:根據(jù)id來排序
let sort: NSSortDescriptor = NSSortDescriptor(key: "id", ascending: false)
request.sortDescriptors = [sort]
do {
//查詢的結(jié)果:是個數(shù)組
let array = try CONTEXT.fetch(request)
}catch {
print("查詢數(shù)據(jù)失敗\(error.localizedDescription)")
}
}
-
更新數(shù)據(jù)
func updateDemo() {
let request: NSFetchRequest<DemoModel> = DemoModel.fetchRequest()
//條件查詢:id==1的數(shù)據(jù)
let predicate: NSPredicate = NSPredicate(format: "id = %@", "1")
request.predicate = predicate
//排序:根據(jù)id來排序
let sort: NSSortDescriptor = NSSortDescriptor(key: "id", ascending: false)
request.sortDescriptors = [sort]
do {
//查詢的結(jié)果:是個數(shù)組
let array = try CONTEXT.fetch(request)
for model in array {
model.title = "更新數(shù)據(jù)"
}
try CONTEXT.save()
}catch {
print("更新數(shù)據(jù)失敗\(error.localizedDescription)")
}
}
上一節(jié):CoreData的使用(一)
下一節(jié):CoreData的使用(三)--UITableView