iOS ,UITableViewDataSource 和 UITableViewDelegate协议中常用方法

UITableViewDataSource 协议中常用方法

1.设置右边索引值

- (NSArray *)sectionIndexTitlesForTableView:(UITableView
*)tableView

2.设置分组标识

- (NSString *)tableView:(UITableView
*)tableView titleForHeaderInSection:(NSInteger)section

3.设置分组个数

- (NSInteger)numberOfSectionsInTableView:(UITableView
*)tableView

4.设置行数

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

5.创建cell(使用重用机制,如下例)

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

{

1.创建重用标识符

static
NSString *identifier =
@"reuse”;

2.去重用队列中根据标识符取可重用的cell

AddressBookCell *cell = [tableView
dequeueReusableCellWithIdentifier:identifier];

3.判断是否获取到可重用的cell(最后要空间释放)

if (!cell) {

cell = [[[AddressBookCell
alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:identifier]
autorelease];

}

return cell;

}

6.设置tableView的每一行的编辑状态(YES,可编辑)

- (BOOL)tableView:(UITableView *)tableView
canEditRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES

}

7.edit按钮的点击事件(当点击edit按钮时触发)

- (void)setEditing:(BOOL)editing animated:(BOOL)animated

8.当提交编辑操作时触发

- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath
*)indexPath

9.设置tableView每一行是否允许移动(YES,可移动)

- (BOOL)tableView:(UITableView *)tableView
canMoveRowAtIndexPath:(NSIndexPath *)indexPath

{

return YES

}

10.提交移动操作之后触发

- (void)tableView:(UITableView *)tableView
moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath
*)destinationIndexPath

UITableViewDelegate协议中常用方法

1.设置行高

- (CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 55;

}

2.选中cell时触发

- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath

3.设置tableViewCell的编辑样式(插入/删除)

- (UITableViewCellEditingStyle)tableView:(UITableView
*)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

4.设置当点击编辑按钮时上面显示的文字,如显示删除

- (NSString *)tableView:(UITableView
*)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
NS_AVAILABLE_IOS(3_0) {   
return
@"删除"; }

5.设置cell移动的位置

- (NSIndexPath *)tableView:(UITableView
*)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath
*)proposedDestinationIndexPath

时间: 2024-10-14 00:14:01

iOS ,UITableViewDataSource 和 UITableViewDelegate协议中常用方法的相关文章

UITableView 协议中常用的方法

UITableViewDataSource 协议中常用方法 1.设置右边 索引值 - ( NSArray *)sectionIndexTitlesForTableView:( UITableView *)tableView 2. 设置分组标识 - ( NSString *)tableView:( UITableView *)tableView titleForHeaderInSection:( NSInteger )section 3. 设置分组个数 - ( NSInteger )numberO

UITextFieldDelegate协议中各个方法的作用与Xcode中AppDelegate.m中自动生成各个方法的作用(iOS)

UITextFieldDelegate协议中各个方法的作用 控制当前输入框是否能被编辑 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 当输入框开始时触发(获得焦点触发) - (void)textFieldDidBeginEditing:(UITextField *)textField 询问输入框是否可以结束编辑(键盘是否可以收回) - (BOOL)textFieldShouldEndEditing:(UITextFiel

ios开发之代理&&协议(补充篇)

一.理解协议与代理 协议: 协议是一个方法签名的列表,在其中可以定义若干个方法.根据配置,遵守该协议的类会去实现这个协议中规定的若干个方法. 代理: 代理是一个概念,很难用一个名词去定义(如我们可以说协议其实就是一个方法列表).它更像是一种关系,我要做某一个事情,但我自己不想去做这件事,我委托其他人帮我去做这件事.这个时候,这位其他人就是我的代理. 二.协议的使用 在定义协议时,可以通过@required与@optional来配置遵守这个协议必须去实现的方法和可以选择的方法.譬如: @proto

iOS开发者程序许可协议

请仔细阅读下面的许可协议条款和条件之前下载或使用苹果软件.   这些条款和条件构成你和苹果之间的法律协议. 目的 你想使用苹果软件(如下定义)来开发一个或多个应用程序(如下定义)Apple-branded产品运行iOS. 苹果愿意授予您有限的许可使用苹果软件开发和测试您的应用程序在本协议规定的条款和条件. 开发的应用程序在此协议下可以分布在四个方面:(1)通过应用程序商店,如果选择苹果,(2)通过VPP / B2B项目网站,如果选择苹果,(3)在一个有限的基础上使用注册设备(如下定义),和(4)

深入浅出--iOS的TCP/IP协议族剖析&&Socket

深入浅出--iOS的TCP/IP协议族剖析&&Socket 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP.HTTP:还有Socket.(--该文很干,酝酿了许久!你能耐心看完吗?) 我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角是--传输层协议. 传输层(Transport Layer)是OSI(七层模型)中最重要.最关键的一层,它负责总体的数据传输和数据控制的一层,传输层提供端到端(应用会在网卡注册一个端口号)的交换数据的机制,检查分组编号与次序.传输层对

iOS开发(OC)中的命名规范

开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系.以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知.今天就从代码规范入手总结一下iOS开发中好的编码规范吧.我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘

iOS ASIHTTPRequest用https协议加密请求

iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略验证的话,程序也会报[error-9844]的错误,具体错误如下描述: [Error Domain=ASIHTTPRequestErrorDomain Code=1 "A connection failure occurred" UserInfo=0x6aafa30 {NSUnderlyi

如何使用multipart/form-data格式上传文件(POST请求时,数据是放在请求体内,而不是请求头内,在html协议中,用 “\r\n” 换行,而不是 “\n”)

在网络编程过程中需要向服务器上传文件.Multipart/form-data是上传文件的一种方式. Multipart/form-data其实就是浏览器用表单上传文件的方式.最常见的情境是:在写邮件时,向邮件后添加附件,附件通常使用表单添加,也就是用multipart/form-data格式上传到服务器. 表单形式上传附件 具体的步骤是怎样的呢? 首先,客户端和服务器建立连接(TCP协议). 第二,客户端可以向服务器端发送数据.因为上传文件实质上也是向服务器端发送请求. 第三,客户端按照符合“m

iOS基础控件UINavigationController中的传值

iOS基础控件UINavigationController中的传值,代理传值,正向传值,反向传值 #import <UIKit/UIKit.h> //声明一个协议 @protocol SendValue<NSObject> //定义一个方法 - (void)sendBtnTitle:(NSString *)title; @end @interface FirstViewController : UIViewController // 定义代理 @property (nonatomi