新建工程
新建一个swift工程,勾选Use Core Data
建表并生成文件
找到工程中的(项目名.xcdatamodeld),新建Entity
然后选中(项目名.xcdatamodeld),选择Editor->Create NSmanagedObject Subclass…
选择你需要使用的库,点击下一步
选择你需要使用的表,点击下一步
选择存放位置和编码语言
点击完成,工程中会增加两个文件
去掉可选类型?
使用并保存数据
导入相关库
import CoreData
实例化对象
var resultMode:ResultMode!
保存操作
- //缓存池
- let buffer = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
- //设置数据
- resultMode = NSEntityDescription.insertNewObjectForEntityForName("ResultMode",inManagedObjectContext: buffer) as! ResultMode
- resultMode.name = "name"
- resultMode.address = "address"
- resultMode.content = "content"
- resultMode.image = UIImagePNGRepresentation(image)!//转换图片格式
- //保存
- do{
- try buffer.save()
- }catch{
- print(error)
- return
- }
获取数据
导入相关库
import CoreData
初始一个空数组
var resultMode:[ResultMode] = []
添加NSFetchedResultsControllerDelegate代理
初始化NSFetchedResultsController
var frc:NSFetchedResultsController!
获取数据
- //缓存池
- let buffer = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
- //使用NSFetchRequest获取数据
- let request = NSFetchRequest(entityName: "ResultMode")
- let sd = NSSortDescriptor(key: "name",ascending: true)//排序
- request.sortDescriptors = [sd]
-
- frc = NSFetchedResultsController(fetchRequest: request,managedObjectContext: buffer,sectionNameKeyPath: nil,cacheName: nil)
- frc.delegate = self
- //获取数据
- do{
- try frc.performFetch()
- resultMode = frc.fetchedObjects as! [ResultMode]
- }catch{
- print(error)
- }
删除数据
- let buffer = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
-
- let result = frc.objectAtIndexPath(indexPath) as! ResultMode
- buffer.deleteObject(result)
-
- do{
- try buffer.save()
- }catch{
- print(error)
- }
更新数据
更新数据在获取数据的基础上,把该数据的值修改,再进行save就可以了
写给自己的学习笔记