首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发之表视图爱上CoreData

TableView之所以会爱上CoreData,是因为我们的CoreData会简化我们对数据的操作,并且会持久化到sqlite中。...CoreData相当于TableView和sqllite的纽带,说的专业一些就是映射,那么我们CoreData如何使用才会简化我们的操作呢?...(和JavaBean类似)     (1)AppDelegata.m中多出的部分代码如下,从多出的部分代码就可以看出,CoreData会把我们的数据实体和sqllite建立起一一对应的关系: 1 2 3...来修改或着添加数据时,TableView上的内容是不跟着CoreData的变化而变化的,接下来要做的就是要绑定TableView和CoreData的关系。...更新部分的代码和添加部分的代码差不多,在这就不往上贴啦。   经过上面的艰苦的历程后我们的tableView就会深深的爱上CoreData, 可能上面的内容有些多,有疑问的可以留言交流。

2.2K80

CoreData的线程安全

1.没有线程安全的coredata数据读取: NSManagedObjectContext对象的创建: _managedObjectContext = [[NSManagedObjectContext...alloc] init]; 2.线程安全的coreData操作: 1,创建并行的NSManagedObjectContext对象: [[NSManagedObjectContext alloc]...,如果有大的查询,就起一个新的 NSPrivateQueueConcurrencyType 类型的 NSManagedObjectContext,然后放在后台去执行查询,查询完成后将结果返回主线程。...如果是查询的话,因为 NSManagedObject 也不能跨线程访问,所以在block里获取到的NSManagedObject对象只能将objectid传到主线程,主线程再通过 objectWithID...恢复对象的方法 2,NSManagedObjectContext在后台线程执行是通过 performBlock 方法来实现的,在执行读取操作时使用一下两个方法: -(void)performBlock

82680
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS中CoreData数据管理系列四——进行数据与页面的绑定

    iOS中CoreData数据管理系列四——进行数据与页面的绑定 一、引言     在上一篇博客中,我们讨论了CoreData框架中添加与查询数据的操作,事实上,在大多数情况下,这些数据都是由一个UITableView...表视图进行展示的,因此,CoreData框架中还未开发者提供了一个类NSFetchedResultsController,这个类作为桥接,将视图与数据进行绑定。...二、进行数据初始化     NSFetchedResultsController的初始化需要一个查询请求和一个数据操作上下文。...当数据发生变化时,将通过代理进行方法的回调。...{     //开启tableView更新预处理     [[self tableView] beginUpdates]; } //分区数据改变时调用的方法 - (void)controller:(NSFetchedResultsController

    72210

    接口中可以包含的组成部分

    接口中可以包含的组成部分   1.抽象方法   2.常量   3.默认方法(JDK8)   4.静态方法(JDK8)   5.私有方法(JDK9) 1.抽象方法   public abstract 返回值类型...方法名称(参数类型 参数名称);  注意:     1.接口中的抽象方法,修饰符如果自己写必须是:public abstract     2.接口中的抽象方法,修饰符可以省略不写,默认就是:public...1.创建对象       接口名称 引用名 = new 实现类名称();     2.调用       引用名.抽象方法(参数); 注意:     1.左边是接口类型,那么只能调用接口当中定义好的内容...,不能调用右侧实现类当中的特有内容。...(即接口隔离、接口通用)     2.当调用接口当中的抽象方法时,真正运行的是右侧new的时候类的具体方法内容。     3.总结一句话:编译的时候看左边,运行的时候看右边。

    2.6K10

    CoreData和FMDB你用哪个?

    概括:         我们先说说这两个东西,CoreData 和 FMDB,其实就我自己而言觉得这两个都不错,刚开始是接触FMDB的,CoreData是工作后自己看的。...苹果推荐开发者去使用CoreData,但 FMDB 在 git 上的那上万颗星星也说明了开发者对它的喜爱。...在一个tableView里面,tableView的数据源是表里面数据的条数,你通过表里面数据的条数去控制tableView的显示!...在CoreData中 有一个控制器 NSFetchedResultsController专门为了关联数据库和视图而生的,这个Demo是写好了的,需要的留言告诉我我发给你。...CoreData的使用: image.png 注意点和总结的地方: 先把里面会用到的类描述一下,知道它们是用来做什么,对应的都是那些东西。

    1.7K100

    swift3.0 coreData的使用-日记本demo效果需求分析创建工程添加数据库改写Detail页面改写Master页面Demo地址

    效果.gif 需求分析 基于官方MasterDetail模板,官方写了很多复杂的coredata逻辑,在此基础上快速开发简单的日记本程序。...M-D.png 使用swift和coredata ? 选择语言和coredata.png 添加数据库 官方给数据库添加了一个时间戳字段,我们再添加一个内容字段就可以了 ?...description } 点击cell的页面 由于默认的M-D页面模式 点击cell是直接指向D页面,我们把他删掉,写到tableview的didSelectRowAt方法中,使用navigationController...并传递当前查询出来的数据对象 我这里是使用stroyboard ID来获取视窗 override func tableView(_ tableView: UITableView, didSelectRowAt...pushViewController(controller, animated: true) } 更改新增日志按钮的方法 默认模式是点击新增直接tableview多一行数据,我们这里的需求则是进入新增的编辑页面

    63540

    iOS中CoreData数据管理系列二——CoreData框架中三个重要的类

    iOS中CoreData数据管理系列二——CoreData框架中三个重要的类 一、引言     在上一篇博客中,介绍了iOS中使用CoreData框架设计数据模型的相关步骤。...CoreData框架中通过相关的类将数据——数据模型——开发者无缝的衔接起来。...NSPersistentStoreCoordinator将数据模型存入数据库;NSManagedObjectContext是核心的数据管理类,开发者通过操作它来执行对数据的相关操作。...三、持久化存储协调者类NSPersistentStoreCoordinator     NSPersistentStoreCoordinator建立数据模型与本地文件或数据库之间的联系,通过它将本地数据读入内存或者将修改过的临时数据进行持久化的保存...,我们通过这个类来进行数据的增删改查等操作。

    68520

    Core Data 基础

    一、iOS数据储存方式 二、简介CoreData数据存储 Core Data 是 iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据 Core Data 不是一个数据库,不要用数据库的眼光去看待...(7)执行&连线,生成方法:newPerson 使用代码修饰界面 第 3 步:创建数据模型 实体 (entity)是数据模型的基石 一个实体表示应用程序中有意义的一部分数据 可以把实体看待成 SQLite...实体描述 设置对象属性 保存数据 (1)在tableview代理方法内实现修改数据 (2) 在viewDidLoad方法 中设置代理 第 7 步:删除 获取要删除的 实体描述 让管理上下文删除对象...(7)执行&连线,生成方法:newPerson 使用代码修饰界面 第 3 步:创建数据模型 实体 (entity)是数据模型的基石 一个实体表示应用程序中有意义的一部分数据 可以把实体看待成 SQLite...实体描述 设置对象属性 保存数据 (1)在tableview代理方法内实现修改数据 (2) 在viewDidLoad方法 中设置代理 第 7 步:删除 获取要删除的 实体描述 让管理上下文删除对象

    1.1K30

    币币合约执行解析(包含部分源码)

    比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 本文解析的为比原提供的币币合约...和 Equity 语言入门 学习,方便更好的理解该文档 锁定合约 第一步:调用create-account-receiver 生成 control_program [mgiup20hto.jpeg]...",program); sendHttpPost(param.toString(),"decode-program","http://127.0.0.1:9888",""); 需要注意的是...decode出来的为值是逆序的(后续会有文章详细介绍) 解锁/取消其实就是把生成合约的步骤中的第三步去掉,替换调用生成合约第四步的参数即可 取消合约的构造参数如下: [z4hynv8gno.jpeg]...type: 'data', raw_data: { // 参数偏移量 在一个合约里是固定的

    53760

    UITableView实现QQ好友列表实战(动态插入删除Cell)

    实现选择 网上大部分的教程,都是基于修改section的hearderView来实现的,但是看QQ的好友列表,style是grouped,显然不是使用section的header来处理。...封装测试数据 使用FMDB(或者CoreData)从objc中国获取主issue作为父级cell,文章作为subCell,具体获取使用python和BeautifulSoup,不在本次的讨论范围之内,需要的可以查看相应的资料或者留言我...具体实现分析 TableView一些相关方法介绍 delegate里和点击有关的方法如下。...*)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath - (void)tableView...:indexArray withRowAnimation:UITableViewRowAnimationRight]; [tableView endUpdates]; 其中的indexArray

    1.3K50

    iOS开发之使用XMPPFramework实现即时通信(二)

    二、代码实现部分 上面的部分是允许的效果截图,从截图上是不难看出功能点的。图就先贴到这吧,下面给出核心代码的实现。...在初始化消息组件的时候,要指定保存策略,一般可以选的是CoreData还是内存。...指定完保存策略后实例化Message是要关联保存策略,之后也是需要在XMPPStream中进行激活的,最后要获取CoreData的上下文。...的代码实现 在获取用户列表的代码中就会用到我们之前注册的Roster的内容,因为我们在实例化Roster的时候指定的保存策略是用CoreData进行保存的,并且是自动获取好友列表。...上显示FetchedResultController获取的数据,请参考之前的博客:iOS开发之表视图爱上CoreData。

    1.3K60

    Swift实践:使用CoreData完成一个通讯录存储

    CoreData作为Apple的亲儿子,依然在App需要存储结构化数据上发挥着重要的作用。CoreData已经超过十年了,而且亲爹还在积极的维护着它。...再一细问,很多人也都是只使用到了FMDB,对于CoreData却是了解甚少。 后来想了想,可能是因为CoreData的入门成本有点高,而且相关的中文资料比较少的缘故吧。...Core Data架构 一个基本的 Core Data 栈由四个主要部分组成:托管对象 (NSManagedObject),托管对象上下文 (NSManagedObjectContext),持久化存储协调器...在最开始的不是说一个基本的 Core Data 栈由四个主要部分组成嘛?怎么没有看到呐? 来来来,这就是最开始我们使用Xcode创建默认带数据库的工程的原因。...if let results = fetchedResults { people = results tableView.reloadData

    1.8K40

    Swift实践:使用CoreData完成上班签到小工具1. CoreData Stack的作用2.创建 CoreData Stack3. 一对多的关系4. 完成Demo,了解使用CoreData St

    所以,CoreData Stack是为了解决这个问题诞生的嘛?很遗憾,并不是。看了前面的两篇文章之后,有木有觉得CoreData不怎么好用,还挺麻烦的呐?...这时候要祭出CoreData Stack的啦。 1....CoreData Stack的作用 其实这个东西在一篇的时候提到过,不信您看:Swift实践:使用CoreData完成一个通讯录存储 一个基本的 Core Data 栈由四个主要部分组成:托管对象 (NSManagedObject...2.创建 CoreData Stack 非典型技术宅既然说了这货有四部分组成,那咱们就一个一个来呗。艾玛,因为发现文章会被抄袭,抄袭之后有些人还不署名,搞的只好在文章里面内嵌入一些自己的名字。...注意 例如一个人下了很多订单,订单里面又包含了很多商品。

    1.5K30

    TableView加载图片的优化逻辑

    ---- 日常中,最常使用的空间非UITableView莫属了。 但是当TableView的cell中包含图片时,使用SDWebImage加载图片虽然是异步过程,但是仍然十分占用系统资源。...那么我们就要想一个办法去优化加载图片的逻辑。 此处,我只讲我自己的想法,或许也有更好的逻辑,还希望在下面留言指点我一下。...我的想法是TableView滚动的时候不去加载未加载过的图片,停止滚动后再从网络加载。...已经加载过得图片,无论什么时候都加载该图片(因为SDWebImage会将加载过得图片缓存下来,再次加载的时候从缓存中取,这样就不用开辟线程下载图片了)。 ? 啊.png ?...屏幕快照 2016-04-16 下午9.34.14.png 如上,就是我对TableView加载图片的优化逻辑。

    1.1K30
    领券