iOS 开发快速导引:TableView 和 CoreData【草】
所有列表式的数据都是用 TableView 显示的
预览
待补充
原料
- NSFetchedResultsController
用来操作 NSFetchRequst,有执行查询,监听变化,数据缓存等功能 - NSFetchRequest
用来指定用什么条件查哪个表,结果集怎么排序 - NSSortDescriptor
排序方式 必须 - NSPredicate
谓语,其实就是查询条件,可选 - UITableView
- UITableViewController
- UITableVIew 必须指定 DataSource,只要没特殊要求直接用这个 ViewController 就好了,这个类同时声明了下面两个协议
- UITableViewDataSource
顾名思义这个协议要实现数据源相关特性 - UITableViewDelegate
负责 TableView 的表现和动作的协议
步骤
- Storyboard 里拖一个 Table View Controller,这个 Table View Controller 自带一个 TableView 还有一个 TableViewCell
- 定义一个 UITableViewController 的子类,在 Storyboard 里把刚才那个 Table View Controller 的 Class 设为这个子类
- 声明一个 NSFetchedResultsController 私有变量,在 viewDidLoad 里初始化。
- 重写两个方法
- numberOfRowsInSection 返回指定分组的行数,NSFetchedResultsController 知道答案
- cellForRowAtIndexPath 通过 NSFetchedResultsController 获取到数据后设定单元格的显示值,然后再返回这个单元格
- 可以冒烟测试一下了
代码片段
只有 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【草】的更多相关文章
- iOS 开发快速导引:iOS 程序框架【草】
概要 待补充 App 生命周期 待补充 View Controller 生命周期 待补充 链接 Learn X in Y minutes —— swift 中文版 Learn X in Y minut ...
- iOS开发之表视图爱上CoreData
在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功 ...
- iOS开发笔记之TableView优化
TableView相信只要是做iOS开发的就不会陌生,目前大多数iOS的app都是采用TabBar+NavigationBar+TableViewController这一主流框架, 既然用的这么频繁, ...
- Android 开发快速导引:Android程序框架【草】
概述 学习一项新技术之前要先了解这个技术的整体框架,这里先简单说一下 Android 的程序结构. Android App 有四个顶层的类:Activity.Service.ContentProvid ...
- iOS开发之 -- 判断tableview/scrollview的滑动方法,及导航栏渐变的实现代码
开发的过程中,肯定会用到在视图想上滑动的时候,在导航处做一些操作,比如向上滑动的时候,做个动画,出现一个搜索框,或者其他的操作,那么我们怎么来判断它的滑动方向呢? 首先我们应该知道tableview继 ...
- iOS开发小技巧--TableView Group样式中控制每个section之间的距离
一.TableView的Group样式中,默认的每个section都有sectionHeader和sectionFooter,只要调整这两个的大小就可以实现section之前的间距扩大或缩小 二.项目 ...
- iOS开发小技巧--TableView中headerView的循环利用,以及自定义的headerView
一.首先要搞清楚,tableView中有两种headerView,一个是tableHeaderView,另一个是headerView.前者就一个;后者根据session决定个数 headerView的 ...
- iOS开发——UI_swift篇&TableView实现页眉和页脚
TableView实现页眉和页脚 在UItableView中header和footer是很常见的,而且他能让你实现很复杂的功能,我们见过最多的就是下拉刷新和上啦加载更多,当然你还可以在上面添加一个 ...
- iOS开发——UI_swift篇&TableView自定义聊天界面
TableView自定义聊天界面 1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 ...
随机推荐
- 使用Fiddler关于“由于目标计算机积极拒绝,无法连接。”的解决方案
今天使用Fiddler的时候遇到下面这个问题:在地址栏想打开个一般处理程序,出现连接本机失败的提示,如下图: 而这在我没打开Fiddler的时候是显示正常的. 查看Fiddler,在嗅探 -> ...
- 关于python中的字符串编码理解
python2.x 中中间编码为unicode,一个字符串需要decode为unicode,再encode为其它编码格式(gbk.utf8等) 以gbk转utf8为例: s = "我是字符串 ...
- CentOS Linux服务器安全设置
转自:http://www.osyunwei.com/archives/754.html 引言: 我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关 ...
- CozyRSS开发记录15-获取和显示RSS内容
CozyRSS开发记录15-获取和显示RSS内容 1.内容列表 我们先给RSSContentFrame增加一个ViewModel,里面和RSS源列表一样,提供一个ObservableCollectio ...
- CozyRSS开发记录14-RSS源管理初步完工
CozyRSS开发记录14-RSS源管理初步完工 1.添加源的响应 DialogHost.Show有几个版本的重载,加一个DialogClosingEventHandler参数.我们让添加源对话框的添 ...
- Beginning Scala study note(4) Functional Programming in Scala
1. Functional programming treats computation as the evaluation of mathematical and avoids state and ...
- 学习微信小程序之css7
盒模型 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- drawPython
# drawSnake import turtle def drawSnake(rad,angle,len,neckrad): for i in range(len): turtle.circle(r ...
- C#ListBox对Item进行重绘,包括颜色
别的不多说了,上代码,直接看 首先设置这行,或者属性窗口设置,这样才可以启动手动绘制,参数有三个 Normal: 自动绘制 OwnerDrawFixed:手动绘制,但间距相同 OwnerDrawVar ...
- SQL Server 2012 数据库数据导出为脚本
转自:http://blog.csdn.net/ituff/article/details/8265822 将高版本的的SQL Server数据库移到低版本的SQL Server是一件十分蛋疼的事,最 ...