http://codego.net/18365/

本文介绍如何在iOS应用中实现表格编辑功能,并通过点击按钮实现数据删除操作,包括编辑按钮状态切换、数据数组更新、删除数据项及表格刷新等关键步骤。

一、

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

{

return 3 ;

}

UITableViewCellEditingStyle = 3 这是一个未公开的方法,上架appstore有可能被拒,企业版的不怕。

二、

- ( void )viewDidLoad {

    [ super viewDidLoad ];

dataArray = [[ NSMutableArray alloc ] initWithObjects : @"1" , @"2" , @"3" , @"4" , @"5" ,@"6" , @"7" , @"8" , @"9" , nil ];

deleteDic = [[ NSMutableDictionary alloc ] init ];

rightButton . title = @" 编辑 " ;

}

- ( IBAction )choseData

{

if ([ rightButton . title isEqualToString : @" 编辑 " ]) {

rightButton . title = @" 确定 " ;

self . tableview setEditing : YES animated : YES ];

else {

rightButton . title = @" 编辑 " ;

deleteDic removeAllObjects ];

self . tableview setEditing : NO animated : YES ];

}

- ( IBAction )deleteFuntion{

dataArray removeObjectsInArray :[ deleteDic allKeys ]];

self . tableview deleteRowsAtIndexPaths :[ NSArray arrayWithArray :[ deleteDic allValues ]]withRowAnimation : UITableViewRowAnimationFade ];

deleteDic removeAllObjects ];

}

- ( void )dealloc {

leftButton release ];

rightButton release ];

deleteDic release ];

dataArray release ];

tableview release ];

[ super dealloc ];

}

#pragma mark -

#pragma mark Table view data source

- ( NSInteger )numberOfSectionsInTableView:( UITableView *)tableView {

    // Return the number of sections.

return 1 ;

}

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

    // Return the number of rows in the section.

return [ dataArray count ];

}

// Customize the appearance of table view cells.

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

static NSString *CellIdentifier = @"Cell" ;

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier :CellIdentifier];

if (cell == nil ) {

        cell = [[[ UITableViewCell alloc ] initWithStyle : UITableViewCellStyleDefault reuseIdentifier :CellIdentifier] autorelease ];

}

    // Configure the cell...

cell. textLabel . text = [ dataArray objectAtIndex :indexPath. row ];

return cell;

}

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

{

    return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert ;

}

#pragma mark -

#pragma mark Table view delegate

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

if ([ rightButton . title isEqualToString : @" 确定 " ]) {

[ deleteDic setObject :indexPath forKey :[ dataArray objectAtIndex :indexPath. row ]];

else {

}

- ( void )tableView:( UITableView *)tableView didDeselectRowAtIndexPath:( NSIndexPath*)indexPath{

if ([ rightButton . title isEqualToString : @" 确定 " ])

{

deleteDic removeObjectForKey :[ dataArray objectAtIndex :indexPath. row ]];

}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值