Swift 3.0 CoreData

作者: 61cac8b38889 | 来源:发表于2016-09-22 18:13 被阅读178次

1. 新建项目时 勾选CoreData

2.新建Person类继承NSManagedObject (需要 import CoreData)并添加相应的属性

3.打开 工程名.xcdatamodeld  点击Add Entity

4.修改Entity为Person (设置属性栏 Entity->Name:Person ; Class->Name:Person;Class->Module:Current...)

5. 新建一个工具类(直接上代码)

importUIKit

importCoreData

privateletappDelegate =UIApplication.shared.delegateas!AppDelegate

privateletmanagedContext =appDelegate.persistentContainer.viewContext

classCoreDataTools:NSObject{

/**增加

*/

funcaddCoreData(modelName:String,block:(_object:NSManagedObject) -> ()) {

letemployee =NSEntityDescription.insertNewObject(forEntityName: modelName, into:managedContext)

block(employee)

do{

trymanagedContext.save()

print("add success")

}catch{

print("add failure")

}

}

/**查询

*闭包返回所需条件(返回nil则是查询所有)

*/

funcselectDataCoreData(modelName:String,special:()->NSPredicate?) -> [Any]? {

letemployeesFetch :NSFetchRequest =NSFetchRequest(entityName: modelName)

letspecial = special()

employeesFetch.predicate= special

do{

letarr =trymanagedContext.fetch(employeesFetch)

print("select success")

returnarr

}catch{

print("select failure")

returnnil

}

}

}

二:测试部分

CoreDataTools().addCoreData(modelName:"Person") { (object) -> ()in

letemp = objectas!Person

emp.name="hxy"

num=num+1

}

相关文章

网友评论

    本文标题:Swift 3.0 CoreData

    本文链接:https://www.haomeiwen.com/subject/rwizettx.html