swift CoreData 基本操作

13.Swift CoreData 13.Swift CoreDataSwift CoreData 项目适配CodeData CoreData建数据库 CoreData添加数据库属性 CoreData 增 CoreData 删 CoreData 改 CoreData 查在Android中,一想到要操作SQLite,就觉得很繁琐;但是IOS中,有一套非常成熟的数据库API(接口)和GUI(图形用户界面),这样大大提升了用户体验,虽然,我 阅读详情

怎么创建相关文件我这里不在叙述,在这片文章中主要是coredata的基本操作,即增删改

在 .xcdatamodeld 文件中创建了一个实例entities, 名为Info, 添加两项属性,age:Integer 32 和 name:String

接下来都是在ViewController.swift中操作

首先 import CoreData

import CoreData

接下来,我们来获取上下文对象,并且封装成一个函数

//获取上下文对象
    func getContext()->NSManagedObjectContext{
        //获取总代理
        let appDelegate = UIApplication.shared.delegate as! AppDelegate
        //获取托管对象总管
        //let managedObjectContect = appDelegate.persistentContainer.viewContext
        //返回托管对象总管
        return appDelegate.persistentContainer.viewContext
    }

这样后面想要获取上下文对象就使用这一函数,例如

let context = getContext()

我把所有操作都封装成函数,可以根据需求编写不同的参数

增

//增
    func infoInsert(name:String,age:Int32){
        //获取上下文
        let context = getContext()
        //在Info中创建一条记录
        let newRecord = NSEntityDescription.insertNewObject(forEntityName: "Info", into: context) as! Info
        //写入新纪录的值
        newRecord.name = name
        newRecord.age = age
        //保存
        do{
            try context.save()
        }catch{
            fatalError()
        }
    }

删

用predicate过滤出想要的记录,在(format: "name == %@", name) 中,后面的name是一个变量的名字,就是按照该变量来过滤,前者中的name是Info中的属性名。

查询结果可能会有多个,本例子中就是多条记录name相同,所以用一个数组来保存,若是想要筛选结果唯一,那就通过特殊Info属性来查找,例如在Info添加一条属性,保存身份证,或学号、工号这种不会相同的,查出来的结果就唯一了。

//删
    func infoDelete(name:String){
        //获取上下文
        let context = getContext()
        //抓取Info内容
        let fetchRequest:NSFetchRequest = Info.fetchRequest()
        //按要求过滤
        fetchRequest.predicate = NSPredicate(format: "name == %@", name)
        do{
            //保存过滤出的结果
            let result:[Info] = try context.fetch(fetchRequest)
            for one in result{
                //结果全部删除
                context.delete(one)
            }
            try context.save()
        }catch{
            fatalError()
        }
    }

改

修改的操作和删除基本一样,即使查找出来,删除操作改为修改,然后保存回去。查询操作亦是如此。

//改
    func infoChange(name:String,newName:String,newAge:Int32){
        //获取上下文
        let context = getContext()
        //抓取Info内容
        let fetchRequest:NSFetchRequest = Info.fetchRequest()
        //按要求过滤
        fetchRequest.predicate = NSPredicate(format: "name == %@", name)
        do{
            //结果全部删除
            let result:[Info] = try context.fetch(fetchRequest)
            for one in result{
                //修改
                one.name = newName
                one.age = newAge
            }
            try context.save()
        }catch{
            fatalError()
        }
    }

全部数据拿出来存放在数组里面

var info:[Info] = [Info]()

通过函数,info = getAllInfo()把所有数据全部放入infoz中

//获取所有数据
    func getAllInfo()->[Info]{
        let context = getContext()
        let fetchRequest:NSFetchRequest = Info.fetchRequest()
        do{
            let result = try context.fetch(fetchRequest)
            return result
        }catch{
            fatalError("读取失败")
        }
    }

 

swift3.0 coredata 的使用 swift3.0操作coredata,增删改查 阅读详情

相关推荐

Swift 5 中的CoreData使用教程(项目含源码)

持久存储已成为当今大多数 iOS 应用程序的重要组成部分。Core Data 是一个持久性和/或内存缓存框架,由一组非常强大的其他工具组成,可以在应用程序中使用。在为我的个人正在进行的项目进行研究时,我遇到了关于这个主题的更新内容的缺乏,所以我决定自己用 Swift 5 写一篇文章。 项目运行效果 正文 首先,让我们重新开始并创建一个选择 Core Data 模块的新项目。 现在我们可以看到这个项目中有两个显着的变化:CoreDataRelationship.xcdatamodeld 和 AppDel

iCloudEnd的博客 1671

Swift使用CoreData

新建工程 建表并生成文件 使用并保存数据 获取数据 删除数据 更新数据新建工程新建一个swift工程,勾选Use Core Data 建表并生成文件找到工程中的(项目名.xcdatamodeld),新建Entity 然后选中(项目名.xcdatamodeld),选择Editor->Create NSmanagedObject Subclass… 选择你需要使用的库,点击下一步 选择你

旱鸭子 1045

Swift学习: 使用Core Data进行本地数据存储和检索

输入项目的名称和组织标识符,选择保存项目的位置,然后点击"下一步"。在"选择项目模板"界面,选择"Core Data"选项,并确保勾选了"使用Core Data"复选框。点击"下一步",然后选择项目的位置,最后点击"创建"来创建项目。在Xcode的导航器中,找到项目文件,然后找到以".xcdatamodeld"为扩展名的文件。输入文件的名称,比如"CoreDataManager",然后点击"创建"。输入属性的名称,选择属性的类型,比如"String"或"Integer”,然后点击"添加"。

YUELJe的博客 403

Swift-->CoreData原生数据库上手操作

APP开发,必不可少的就是存储数据. CoreData是IOS原生的数据存储框架,今天我就来膜拜一下苹果杰作.1:在创建IOS项目的时候,界面上勾选Use Core Data 这样IDE就会帮你创建CoreData的初始化代码//MARK: 最主要的就是这个成员了... lazy var managedObjectContext: NSManagedObjectContext = { /

<angcyo>菜鸟视角 1601

Swift教程_CoreData实例(一)_构建storyboard

文本用swift语言,使用coreData做一个实例,用来学习通过swift使用coreData的方法。以下是实现的效果,包含了增删改查功能,非常简洁直观。话不多说,直接上步骤。

幽灵雾的专栏 5241

Swift CoreData简单用法

用Swift简单实现coreData数据库增删改查和关系表

iOS CoreData的使用

CoreData是一个专门管理数据服务的框架,把OC对象和存储在SQLite文件中的数据进行互相转换,极大地方便了开发者在数据服务方面的开发。 1. 创建CoreData 在文件创建区下,选择【Core Data】下的【Data Model】 输入CoreData的文件名Model.xcdatamodel Model.xcdatamodeld文件默认是Swift的,如果想要改成oc,可以在打开Model.xcdatamodeld文件,在右侧工具栏中修改。 2. 创建Entity CoreData文件下

假装你是大灰狼的专栏 6722

从拆解到调试:用CS5523改造旧款车载显示屏的完整记录(MIPI转eDP方案)

本文详细记录了使用CS5523芯片将旧款车载显示屏从MIPI接口改造为eDP驱动的完整过程。通过对比LT8911等芯片,选择CS5523实现低功耗、高兼容性的显示升级,涵盖硬件改造、固件配置及调试技巧,最终成功提升显示效果200%。

web99的专栏 344

SwiftUI之CoreData详解(一)

coreData是一种数据持久化的方案,是对SQLite的一种封装。一说到这种桌面化的数据库,我就无比的怀念, 多好的数据库产品,被微软扼杀了,相当年教大学生妹子们国家二级数据库时都是手把手教的,呃~~~,不好意思,说的有点跑题了。要想使用coreData, 首先我们要先创建一个模型文件,它是一个结尾的文件,这个模型文件说白了就是一个库,是的,因为coreData。

zxmatline的博客 2998

第二章 零差云控关节模组内部构造

对零差云控的eRob70I进行了拆解

SFY__优快云的博客 5980

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 201

coredata swift 简单入门

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34018202的博客 181

SAP传输请求全流程详解:从SE10创建到STMS跨环境部署(附常见错误排查)

本文详细解析了SAP传输请求的全流程,从SE10创建到STMS跨环境部署,并提供了常见错误排查方法。涵盖工作台请求、定制请求等类型,以及STMS传输原理和实战操作技巧,帮助用户高效管理SAP系统变更。

weixin_29214335的博客 143

Step by Step Do IOS Swift CoreData Simple Demo

简单介绍 这篇文章记录了在 IOS 中使用 Swift 操作 CoreData 的一些基础性内容,因为缺乏文档,基本上都是自行实验的结果。错漏不可避免,还请谅解。 部分内容借鉴了 Tim Roadley 的《Learning.Core.Data.for.iOS(2013.11)》, 这本书主要介绍 ObjC的 CoreData 。 创建一个新 XCode 项目 创建...

weixin_33948416的博客 98

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

乐鑫ESP32-C6产测全流程:RAM固件测试与阈值校准实战指南

Wi-Fi模组量产测试是保障IoT设备射频性能与硬件可靠性的关键环节,其核心在于基于RAM的无损固件加载、可配置的阈值判定机制及多工位协同控制。该流程依托串口协议与结构化配置(如JSON阈值文件、.bin测试固件),实现RF性能(fb_rssi、tx_power)、GPIO导通性、Flash ID识别与固件版本校验等原子化测试项的自动化执行。技术价值体现在避免Flash擦写风险、支持动态温补与在线学习校准,并无缝对接MES系统实现质量数据闭环。典型应用场景包括ESP32-C6/C3/S2等乐鑫全系Wi-Fi

weixin_35756690的博客 312

Swift - 使用Core Data进行数据持久化存储

一、Core Data介绍 1、Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象。 2、虽然其底层也是由类似于SQL的技术来实现,但我们不需要编写任何SQL语句,有点像Java开发中的Hibernate持久化框架 3、Core Data数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型。 4、与SQLite区别:只能取出整个实体记录,然后分解,之后才能得到

华山论码 1178

qemu(2) -- 定制开发板

向qemu源码中添加自定义开发板

xflm的博客 843

CoreData的简单使用

一、CoreData的简单使用 准备工作 创建数据库 新建文件,选择CoreData -> DataModel 添加实体(表),Add Entity 给表中添加属性,点击Attributes下方的‘+’号 创建模型文件 新建文件,选择CoreData -> NSManaged Object subclass 根据提示,选择实体 通过代码,关联数据库和实体

LoveSummer 823

告别QWebEngineView!用QtLocation+SQLite打造离线地图应用(附完整源码)

本文详细介绍了如何利用QtLocation模块与SQLite数据库构建高性能离线地图引擎,解决传统QWebEngineView方案在网络依赖、内存占用和定制化方面的不足。通过多级缓存机制、异步写入优化和纹理压缩技术,实现工业级应用的稳定运行和高效渲染,特别适合车载导航和野外勘探等场景。

weixin_30431445的博客 363

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Core Data数据存储笔记

具体架构:Swift之深入解析Core Data数据管理的集成指南_╰つ栺尖篴夢ゞ的博客-优快云博客代码实现:Swift CoreData的使用 - 简书

ScheenDuan的博客 181

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Swift学习第十二枪----移动数据库王者Realm入门教程

今天给大家带来的是堪称是一个可以替代SQLite,Core Data 的以及ORMlibraries的轻量级数据库—Realm移动端数据库。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持,这些都为IOS开发者带来了方便。Ream提供了五种编程方式的实现。分别是Java,Objective C,Swift,React-Native

东子的博客 细节决定成败,点滴铸就辉煌。 2671

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IOS技术栈:存储

SQLite 是一个轻量级的数据库,它提供了一个自包含、无服务器、零配置的SQL数据库引擎。首先,你需要在你的 Xcode 项目中添加 Core Data 支持,并定义你的数据模型。此外,Realm 数据库的读取和写入操作应该在合适的线程中进行,因为 Realm 对象不能跨线程传递。实例,将 Rex 添加到 Alice 的狗列表中,然后将这些数据写入到默认的 Realm 数据库中。假设我们有一个简单的实体。这段代码可能放置在你的 ViewController 中或其他合适的地方,根据你的应用架构来决定。

qq_73990157的博客 625

Swift CoreData 使用

使用 CoreData 1. 新建项目时选用 core data 或者在后来添加 .xcdatamodeld 文件 2. 在 AppDelegate 中 获取 persistentContainer 声明一个 lazy 变量 persistentContainer 把模型名字传递给初始化的方法 如果存在 store 返回 store class AppDelegate: UIResponde...

学习笔记 2174

swift3.0 使用coredata

1.import CoreData 2. //获取Context,为了方便使用,这里封装成一个函数     func getContext () -> NSManagedObjectContext {         let appDelegate = UIApplication.shared.delegate as! AppDelegate

WUYANYANstrong的博客 929
上一篇: 学习swift面向协议编程、类和结构体
下一篇: [QGIS插件]通过GeoCat Bridge发布矢量数据到Geoserver
硬核冰恒
博客等级 码龄9年 32粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值