iOS笔记(22) CoreData (四) 监听NSFetchedResultsController

CoreData (四)监听NSFetchedResultsController之前说过, NSFetchedResultsController是有两个重要的功能。 第一:NSFetchedResultsController是作用在Core Data上的,通过NSFetchRequest来查询Core Data里面的数据.可以返回按照组分好的数据.这样便于UITableView来显示. 第二:但Model改变的时候NSFetchedResultsController能及时的发出通知.准确的说,应该是当NSManagedObjectContext发生改变的时候,NSFetchedResultsController能知道这些变化,然后发出通知出来.以便UITableview能及时的更新. 上一篇写了第一点. 现在写第二点.     阅读全文
萧宸宇's avatar
萧宸宇 4月 29, 2013

iOS笔记(21) CoreData (三) NSFetchedResultsController

CoreData (三)NSFetchedResultsController什么是NSFetchedResultsControllerNSFetchedResultsController是一个让人爱恨交加的一个类。如果使用得当,NSFetchedResultsController能帮组减少很多代码。如果使用不当,整个App就随时崩溃。 NSFetchedResultsController我觉得最初的设计应该是为了配合UITableView来使用的。因为UITableView在iOS的应用App中出场次数实在是太高了.而且UITableView是重要的数据展示View,所以需要频繁的向Model去请求数据,但是根据MVC来说,V不应该直接跟M联系的.这样就在Core Data下面出现了一个C–NSFetchedResultsController来把V和M协调起来. NSFetchedResultsController就是这个C. NSFetchedResultsController是有两个重要的功能。 第一:NSFetchedResultsController是作用在Core Data上的,通过NSFetchRequest来查询Core Data里面的数据.可以返回按照组分好的数据.这样便于UITableView来显示. 第二:但Modle改变的时候NSFetchedResultsController能及时的发出通知.准确的说,应该是当NSManagedObjectContext发生改变的时候,NSFetchedResultsController能知道这些变化,然后发出通知出来.以便UITableview能及时的更新.     阅读全文
萧宸宇's avatar
萧宸宇 4月 17, 2013

iOS笔记(20)

UITableView简单解析序UITableView是在iOS开发中,展示大量内容的首选。我个人认为的原有有一下几点: UITableView的展现形式是为移动设备专门设计过的。有较好的人机交互体验。 从技术角度来说UITableView具有重用和延迟加载等特性。如果使用恰当。可以获得一个App流畅的用户体验。 这样,使得UITableView在iOS App中随处可见。 原生应用 一些有名的App.图片信息较老 包括游戏 这些都说明UITableView在一个App中其实是一个很常用的控件。我应该好好的学习它。     阅读全文
萧宸宇's avatar
萧宸宇 4月 15, 2013

iOS笔记(19)

Core Data (二)序上次只是说了三个Core Data栈基本类。这次准备介绍一下常用的类。 NSManagedObject Core Data是一次底层数据封装成面向对象的技术。最直接的表现就是在SQLite里面的一条记录在Core Data里面的表现是一个NSManagedObject对象。因此我们的增删改查都是基于操作对象的。恩这里多说一句,NSManagedObject是相对NSManagedObjectContext里面是唯一的。而真实的应用情况可能是NSManagedObjectContext会有多个。而NSManagedObjectContext线程不是安全的,所以可能有你多个NSManagedObjectContext里面各自有指向同一条数据的不同的NSManagedObject。这个情况需要你的程序设计和逻辑上去解决。暂时不讨论。     阅读全文
萧宸宇's avatar
萧宸宇 4月 01, 2013