表示图是显示表数据的试图对象,它是UITableView类的一个实例。表中的每个课件的行都是UITableViewCell类实现。因此,表示图是显示表中可见部分对象,表试图单元负责显示表中的一行。

表示图并不负责存储表中的数据。他们只存储足够绘制当前可见行的数据。表示图从遵循UITableViewLegate协议的对象获取配置数据,从遵循UITableViewDataSource协议的对象获得行数据。

表示图分为两种基本样式。一种是分组表。另一类是索引表。表中的每个部分被称为数据源中的分区(section)。

实现一个简单的表

1、打开程序创建一个Simple_TableViewController的项目,单击大打开  Simple_TableViewController.xib,View窗口应该已经打开,因此,在库中找到TableView,并将它拖到View窗口中即可。

2、将TableView关联到文件,只需连接到File‘s Owner 。这样控制器类就成了此表的数据源和委托。

3、打开Simple_TableViewController.h,添加下面代码

#import <UIKit/UIKit.h>

@interface Simple_TableViewController:UIViewController<UITableViewDelegate,UITableViewDataSource>

{

NSArray *listData;

}

@property(nonatomic,retain) NSArray *listData;

@end

4、在Simple_TableViewController.m里添加。头文件不写了。

@synthesize listData;

-(void)viewDidLoad{

NSArray *array=[[NSArray alloc]initWithObjects:@"dsda",@"erwerwe",@"dsada",nil];

self.listData=array;

[array release];

[super viewDidLoad];

//自动生成的代码我急不写了

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

return [self.listData count];

}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

static NSString * SimpleTableIdentifier= @"simpleTableIdentifier";

UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifiter:SimpleTableIdentifier];

if(cell==nil){

cell=[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:SimpleTableIdentifier] autorelease];

}

NSUInterger row=[indexPath row];

cell.text=[listData objectAtIndex:row];

return cell;

}

}

第一个方法是tableView:
numberOfRowsInSection:,表使用它来查看指定分区中有多少行。正如你所希望的,默认的分区
数量为1,此方法用于返回组成列表的表分区中的行数。只需返回数组中数组项的数量即可。

下一个方法可能需要一些解释,让我们更仔细地看一下此方法:

当表视图需要绘制其中一行时,则会调用此方法。你会注意到此方法的第二个参数是一个
NSIndexPath实例。表视图正是使用此机制把分区和行绑定到一个对象中的。要从NSIndexPath中
获得一行或一个分区,只需要调用行方法或分区方法就可以了,这两个方法都返回一个int值。

转载于:https://blog.51cto.com/3671494/1216231

TableviewController基础相关推荐

  1. 07_UI基础_UITableView实战- 支付宝口碑

    此篇为针对ios中的UI基础知识,为了能让大家更清楚的理解,此整理中编写了采用知识点+案例的方式,配有非常详细的截图和代码注释,添加了许多大白话进行解释,如有错误之处,望指正,愿与您相互交流学习,共同 ...

  2. iOS面试必备-iOS基础知识

    近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内 ...

  3. IOS学习——TableViewController

    在接触IOS开发一个星期左右,师傅开始留一些练习作业,其中一个就是比较经典的练习程序--列出系统所有字体,并用相应字体显示,主要是表视图的应用.说到表就不得不说这个TableViewControlle ...

  4. ios内存管理机制基础

    采用引用计数的方式来管理内存,分MRC和ARC两种,其中ARC是基于MRC的. 在MRC中, 每当我们使用alloc,new,retain,copy使对象的引用计数增加,都要对应的使用release或 ...

  5. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  6. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  7. java mybatis基础

    java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...

  8. 【J2SE】学习基础

    Java基础 语法基础 OO Exception Array 基础类 I/O Stream Collection/Generic Thread TCP/UDP GUI Meta Data Regula ...

  9. 【Linux系统】基础总结

    我不太清楚运维部门具体是做什么的,就接触过一点点运维部门! 也就是是知道他们负责管理服务器,管理网络,管理项目部署 偶尔自己需要部署,不得不接触一些linux命令.简单总结一些基础 linux系统发展 ...

最新文章

  1. Verilog设计实例(7)基于Verilog的数字电子钟设计
  2. fabrication的拦截器Interceptors简介
  3. python学习-函数(定义、可变参、小练习(列表最小值函数))
  4. 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
  5. 两个不同的数据库如何跨库事务
  6. 算法提高 解二元一次方程组(java)
  7. Ubuntu 18.04 软件源修改成国内源
  8. OFFICE技术讲座:边框的3D与方框的区别
  9. 影音先锋 android下载地址,影音先锋手机版-影音先锋下载v5.8.2 安卓手机版-西西软件下载...
  10. BZOJ系列1406《[AHOI2007]密码箱》题解
  11. java前端开发简历_web前端工程师简历
  12. dds文件怎么在linux查看,OpenDDS学习笔记(4):OpenDDS在Linux环境编译
  13. 诺,你们要的Python进阶来咯!我还没见过比这全面的!
  14. linux 网站服务器优化 web server优化
  15. 要不要考博?清华姚班助理教授写了个读博决策树
  16. Jar包阿里云服务器后台运行
  17. android 语音识别 离线,Android离线语音识别 PocketSphinx
  18. 如何将普通交换机实现POE供电?
  19. CPC电商广告在复杂环境下需要考虑的要素
  20. Java接入PayPal教程,Spring boot Demo源码,企业账号注册,支付,回调,退款全流程,最新PayPal SDK

热门文章

  1. UCMA(OCS) 开发系列之一
  2. asyncdata 获取参数_nuxt的asyncData发送post请求如何传递FormData形式的参数
  3. webform计算某几列结果_工业CAE案例实战精选|脱硫吸收塔工艺仿真计算系统
  4. python rindex()_Python3 rindex()方法
  5. java .do是什么_为什么Java Web应用程序使用.do扩展名?它从哪里来的?
  6. win10多合一原版系统_手把手教你制作官方原版的WIN10系统安装盘
  7. 如何给数组用fill函数和memset函数给数组赋初值
  8. Oracle dbms_job管理
  9. 2021高考成绩查询。,2021高考成绩公布时间 2021高考成绩查询方式
  10. python中float可以和int计算吗_python 中int ,float,字符串的操作