swift coredata 数据库
参考https://www.jianshu.com/p/6541b45ee991、https://blog.csdn.net/yamingwu/article/details/42297675
综合以上两篇文章,对swift coredata 数据库iOS10以前及iOS9的适配
swift4.0编译通过
给上demoGitHub - yuntiaoOS/coreDataTest
overridefuncviewDidLoad() {
super.viewDidLoad()
letworkerName ="Frank"
let workerFetch: NSFetchRequest = Worker.fetchRequest()
workerFetch.predicate=NSPredicate(format:"%K == %@",#keyPath(Worker.name),workerName)
letfetchRequest =NSFetchRequest(entityName:"Worker")
do{
letresults =trymanagedContext.fetch(fetchRequest)as? [NSManagedObject]
// for val in results! {
// managedContext.delete(val)
// }
// try managedContext.save()
if((results?.count)! - 1) > 0 {
// this person have found
currentWorker= results?.firstas!Worker
}else{
// this person have not found, so create this person's name as the ID
if#available(iOS10.0, *) {
currentWorker=Worker(context:managedContext)
}else{
currentWorker = coreDataStack.createNewItemWithName(name:"Worker") as? Worker
}
currentWorker?.name= workerName
currentWorker?.avatar = UIImagePNGRepresentation(UIImage.init(named: "attendance_hands")!) as! NSData
trymanagedContext.save()
}
}catchleterrorasNSError{
debugPrint("ViewController Fetch error:\(error), description:\(error.userInfo)")
}
}