iOS 开发快速导引:TableView 和 CoreData【草】

所有列表式的数据都是用 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!

}

链接

时间: 2024-12-07 13:25:06

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

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

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

IOS开发之表视图爱上CoreData

在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功能和JavaEE中的Hibernate的功能类似,最基本是两者都有通过对实体的操作来实现对数据库的CURD操作.CoreData中的上下文(managedObjectContext)就相当于Hibernate中的session对象, CoreData中的save操作就和Hibernate中的comm

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

概述 学习一项新技术之前要先了解这个技术的整体框架,这里先简单说一下 Android 的程序结构. Android App 有四个顶层的类:Activity.Service.ContentProvider.BroadcastReceiver. 顶层类 Activity Activity 是 Android 应用最重要的概念,没有之一.当你打开一个 App,你看到的界面就是一个 Activity.里面的图片.按钮.输入框.列表,都是这个 Activity 里的 View. Service 猜都猜得

iOS开发-UI (八)TableView

知识点: 1.UITableView使用 2.UITableView分段功能 3.UITableViewCell重用机制 ======================= UITableView使用 1.UITableView作用 2.UITableView创建 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style; UITableViewStyle: UITableViewStylePlain       列表模式 UIT

iOS开发--TableView详细解释

-.建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable release]; 二.UITableView各Method说明 //Section总数 - (NS

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

TableView实现页眉和页脚 UITableView具有var tableHeaderView:UIView?属性和var tableFooterView:UIView?属性,可以通过给其赋值来创建列表TableView的页眉和页脚. 效果图如下: 代码如下: 1 import UIKit 2 3 class ViewController: UIViewController,UITableViewDelegate, 4 UITableViewDataSource,UIGestureRecog

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

TableView自定义聊天界面 1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 (3)每条消息旁边有头像,在左边表示发送方,在右边表示接收方 2,实现思路 (1)需要定义一个数据结构保存消息内容 MessageItem (2)继承UITableViewCell实现自定义单元格,这里面放入头像和消息体 (3)继承UITableView实现自定义表格,通过读取数据源,进行页面的渲染

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

一.首先要搞清楚,tableView中有两种headerView,一个是tableHeaderView,另一个是headerView.前者就一个;后者根据session决定个数 headerView的循环利用跟cell的循环利用差不多,同样也可以注册,代码如下: 二.百思项目中,headerView只显示文字,但是只搞一个Label没法调整文字左边的间距.所以考虑包装一层view.进行了自定义headerView的封装,重写了headerView的 - (instancetype)initWit

iOS开发UI篇-tableView在编辑状态下的批量操作(多选)

先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @property(nonatomic,strong)NSMutableArray *array;//数据源 @property (nonatomic,strong)NSMutableArray *selectorPatnArray;//存放选中数据 @end @implementation MyControlle