新建工程
新建一个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就可以了
写给自己的学习笔记