所有列表式的数据都是用 TableView 显示的

预览

待补充

原料

  • NSFetchedResultsController
    用来操作 NSFetchRequst,有执行查询,监听变化,数据缓存等功能
    • NSFetchRequest
      用来指定用什么条件查哪个表,结果集怎么排序
      • NSSortDescriptor
        排序方式 必须
      • NSPredicate
        谓语,其实就是查询条件,可选
  • UITableView
    • UITableViewController
    • UITableVIew 必须指定 DataSource,只要没特殊要求直接用这个 ViewController 就好了,这个类同时声明了下面两个协议
    • UITableViewDataSource
      顾名思义这个协议要实现数据源相关特性
    • UITableViewDelegate
      负责 TableView 的表现和动作的协议

步骤

  1. Storyboard 里拖一个 Table View Controller,这个 Table View Controller 自带一个 TableView 还有一个 TableViewCell
  2. 定义一个 UITableViewController 的子类,在 Storyboard 里把刚才那个 Table View Controller 的 Class 设为这个子类
  3. 声明一个 NSFetchedResultsController 私有变量,在 viewDidLoad 里初始化。
  4. 重写两个方法
  5. numberOfRowsInSection 返回指定分组的行数,NSFetchedResultsController 知道答案
  6. cellForRowAtIndexPath 通过 NSFetchedResultsController 获取到数据后设定单元格的显示值,然后再返回这个单元格
  7. 可以冒烟测试一下了

代码片段

只有 cellForRowAtIndexPath 的常规写法有些特别,这里只贴出它的例子

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)

-> UITableViewCell {

var cellId = "cellId" //属性编辑器里 给 TableViewCell 设定的 Identifier 

var cell = tableView.dequeueReusableCellWithIdentifier(cellId) as UITableViewCell?

if cell == nil{

cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: cellId)

}

cell!.textLabel?.text="取出的值"

return cell!

}

链接

iOS 开发快速导引:TableView 和 CoreData【草】的更多相关文章

  1. iOS 开发快速导引:iOS 程序框架【草】

    概要 待补充 App 生命周期 待补充 View Controller 生命周期 待补充 链接 Learn X in Y minutes —— swift 中文版 Learn X in Y minut ...

  2. iOS开发之表视图爱上CoreData

    在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功 ...

  3. iOS开发笔记之TableView优化

    TableView相信只要是做iOS开发的就不会陌生,目前大多数iOS的app都是采用TabBar+NavigationBar+TableViewController这一主流框架, 既然用的这么频繁, ...

  4. Android 开发快速导引:Android程序框架【草】

    概述 学习一项新技术之前要先了解这个技术的整体框架,这里先简单说一下 Android 的程序结构. Android App 有四个顶层的类:Activity.Service.ContentProvid ...

  5. iOS开发之 -- 判断tableview/scrollview的滑动方法,及导航栏渐变的实现代码

    开发的过程中,肯定会用到在视图想上滑动的时候,在导航处做一些操作,比如向上滑动的时候,做个动画,出现一个搜索框,或者其他的操作,那么我们怎么来判断它的滑动方向呢? 首先我们应该知道tableview继 ...

  6. iOS开发小技巧--TableView Group样式中控制每个section之间的距离

    一.TableView的Group样式中,默认的每个section都有sectionHeader和sectionFooter,只要调整这两个的大小就可以实现section之前的间距扩大或缩小 二.项目 ...

  7. iOS开发小技巧--TableView中headerView的循环利用,以及自定义的headerView

    一.首先要搞清楚,tableView中有两种headerView,一个是tableHeaderView,另一个是headerView.前者就一个;后者根据session决定个数 headerView的 ...

  8. iOS开发——UI_swift篇&TableView实现页眉和页脚

    TableView实现页眉和页脚   在UItableView中header和footer是很常见的,而且他能让你实现很复杂的功能,我们见过最多的就是下拉刷新和上啦加载更多,当然你还可以在上面添加一个 ...

  9. iOS开发——UI_swift篇&TableView自定义聊天界面

    TableView自定义聊天界面   1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 ...

随机推荐

  1. C#中常用的系统内置委托

    在公共语言运行时(CLR)环境中系统为我们内置了一些常用的委托,包括Action类的委托.Func类的委托.Predicate<T>委托.Comparison<T>委托等等.以 ...

  2. Android功能点

    1.获取屏幕尺寸.密度等信息. 1)最常用的方法: WindowManager windowManager = getWindowManager(); Display display = window ...

  3. 社区活动分享PPT:使用微软开源技术开发微服务

    上周六在成都中生代技术社区线下活动进行了一个名为"微软爱开源-使用微软开源技术开发微服务"的技术分享. 也算是给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力 ...

  4. maven权威指南学习笔记(三)——一个简单的maven项目

    目标: 对构建生命周期 (build  lifecycle),Maven仓库 (repositories),依赖管理 (dependency management)和项目对象模型 (Project O ...

  5. linux中的环境变量

    linux中用到很多的环境变量的设置,这里推荐一个博客: http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html

  6. js类数组

    类数组 - [ Array-like ] : objects 1. what's Array-like 类数组和数组很像,但是数组的很多方法却不能用,这就很尴尬了~ 像 arguments.nodel ...

  7. Unity 依赖注入之一

    在项目中引入Unity,建立一个接口IWork跟一个继承IWork接口的Work类 public interface IMyWork { void Work(); } public class MyW ...

  8. c#.net网页跳转七种方法

    一.目前在ASP.NET中页面传值共有这么几种方式: .Response.Redirect("http://www.hao123.com",false); 目标页面和原页面可以在2 ...

  9. 【刷题记录】首师附NOIP练习20160820

    [由于老师不让发题目,So只能发考点喽!!!!噜噜噜] [题目(嘘~~~~~)]:百度云下载 [T1]:好像是DP,路径压缩+排序+分情况处理100分(噜噜噜) [T2]:正解好难的样子,DFS乱搞了 ...

  10. Xcode playground markdown常用语法

    //: **Bold** *Italic* /*: # h1 ## h2 ### h3 #### h4 h5 h6 same as h3 --- --- --- * blank seperate li ...