TableView主要用于展示数据,类似于Android中的ListView。

我们可以通过两个方式使用TableView。第一种是直接使用TableView类。第二种是通过UITableViewController类。

第一种方式主要是通过实例化一个UITableView类,然后将类实例添加到主界面,代码如下

这样,一个简单的tableview就创建了,当然这个时候界面中是没有数据的。

运行结果如下:

接下来为TableView添加数据。通过查看UITableView类的头文件可知道,该类有一个dataSource属性,属性遵守了UITableViewDataSource协议。

因此,该属性只接受类型为UITableViewDataSource的值。在这里我们只需要令viewController遵守该协议即可,然后就可以将dataSource属性值设为self。

代码如下:

这个时候xcode会有一个黄色的感叹号,因为我们还没有实现协议里面的方法。

要为TableView提供数据,我们必须至少实现下面的两个方法:

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

第一个方法告诉TableView每个section有多少行,第二个方法用于设置每一行的外观(View)是怎样的。TableView中每一行都是一个UITableViewCell类。

现在先把这两个方法实现一下。代码如下:

运行效果:

UITAbleViewDataSource中还有一个方法用来设置section,因为我们没有实现这个方法,所以section默认值是0。

该方法是:

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

通过实现这个方法修改section数量:

修改后运行效果:

使用UITableViewController创建Tableview

默认情况下每个视图的控制器都是UIViewController,通过修改UIWindow类中的rootViewController属性的值可以改变这个行为。

因此下面的代码在appDelegate.m文件中的

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

方法中进行。

首先创建一个继承自UITableViewController的类。

类创建好后基本上就是在这个新建的类中实现上面的方法即可。因为UITableViewController类已经遵守了UITableViewDataSource协议。

而且UITableViewController里面已经有TableView的属性,因此我们无需实例化UITableView。

MyTableViewController类中的代码:

最后将rootViewController设置为新建立的类:

运行结果:

 
 

使用UITableView展示数据的更多相关文章

  1. iOS开发:一个高仿美团的团购ipad客户端的设计和实现(功能:根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除等)

    大致花了一个月时间,利用各种空闲时间,将这个客户端实现了,在这里主要是想记录下,设计的大体思路以及实现过程中遇到的坑...... 这个项目的github地址:https://github.com/wz ...

  2. PHP+Mysql+jQuery实现地图区域数据统计-展示数据

    我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...

  3. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

    在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...

  4. IOS第七天(2:UiTableView 加上数据分离)

    ****加上数据分离 #import "HMViewController.h" #import "HMStudent.h" @interface HMViewC ...

  5. Repeater控件 ---表格展示数据

    简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...

  6. Windows程序==>>使用ListView控件展示数据

    使用ListView控件展示数据 01.ImageList控件 1.了解了解         属性 说明 Images 储存在图像列表中的所有图像 ImageSize 图像列表中图像的大小 Trans ...

  7. repeater灵活运用、repeater的commmand用法、如何不用repeater展示数据

    实体类: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <su ...

  8. Flex与Java交互(Flex调用java类展示数据)解析xml展示数据

    Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...

  9. Asp.Net MVC 实现将Easy-UI展示数据下载为Excel 文件

    在一个项目中,需要做一个将Easy-UI界面展示数据下载为Excel文件的功能,经过一段时间努力,完成了一个小Demo.界面如下: 但按下导出Excel后,Excel文件将会下载到本地,在office ...

随机推荐

  1. web 开发自动化grunt

    现在web开发自动化已很流行,如何进行压缩文件,如何进行测试js是否正确,如何进行 检测html文件是否规范等等都可以通过web自动化技术进行实现,只要打一个命令即可. 本文主要是通过grunt进行实 ...

  2. IL初步了解

    一.概述: 近来也是在看AOP方面的东西,了解到Emit可以实现.之前对Emit的了解也就是停留在Reflector针对方法反编译出来的部分指令.就用这次机会学习下Emit也用这篇随笔记录下学习的过程 ...

  3. Java判断字符串是否是数值

    判断一个字符串是否是数值,可以用正则表达式来判断.更简单的方法是把字符串转换成Float或者Double,然后捕捉NumberFormatException错误,如果有错误,就说明不是一个数值,如果没 ...

  4. PHP多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  5. openresty 前端开发入门二

    这一章主要介绍介绍怎么获取请求参数,并且处理之后返回数据 我们知道http请求通常分为两种,分别是GET,POST,在http协议中,GET参数通常会紧跟在uri后面,而POST请求参数则包含在请求体 ...

  6. 在网站开发中很有用的8个 jQuery 效果【附源码】

    jQuery 作为最优秀 JavaScript 库之一,改变了很多人编写 JavaScript 的方式.它简化了 HTML 文档遍历,事件处理,动画和 Ajax 交互,而且有成千上万的成熟 jQuer ...

  7. 【H5疑难杂症】脱离文档流时的渲染BUG

    BUG重现 最近机票团队在一个页面布局复杂的地方发现一个BUG,非常奇怪并且不好定位,这类问题一般最后都会到我这里,这个问题是,改变dom结构,页面却不渲染!!! 如图所示,我动态的改变了dom结构, ...

  8. Nuclear开始

    为什么Nuclear 这里列举Nuclear在竞品中的优势: 借助浏览器本身的机制,无任何代码约定和入侵 放心使用HTML+CSS+JS observejs替代EventLoop.requestAni ...

  9. NSURLConnection实现文件上传和AFNetworking实现文件上传

    请求的步骤分为4步 1.创建请求 2.设置请求头(告诉服务器这是一个文件上传的请求) 3.设置请求体 4.发送请求 NSURLConnection实现文件上传 // 1.创建请求 NSURL *url ...

  10. Fragment的生命周期

    Fragment的生命周期: 1. onAttach():Fragment对象跟Activity关联时 2. onCreate():Fragment对象的初始创建时 3. onCreateView() ...