UITableVIew读取plist文件及删除对象的操作
2012-06-16 12:15
393 查看
// PlistAndTableViewViewController.m // PlistAndTableView // // Created by Lixf on 09-10-24. // Copyright Lixf 2009. All rights reserved. // ]#import "PlistAndTableViewViewController.h" #define BARBUTTON(TITLE, SELECTOR) [[[UIBarButtonItem alloc] initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self action:SELECTOR] autorelease]//UIBarButtonItem @implementation PlistAndTableViewViewController @synthesize Data, DataArray, delArray; @synthesize DataTable; // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; self.title = @"Data List"; [self initData]; DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 480) style:UITableViewStylePlain]; [DataTable setDelegate:self]; [DataTable setDataSource:self]; [self.view addSubview:DataTable]; [DataTable release]; self.navigationItem.rightBarButtonItem = BARBUTTON(@"Edit", @selector(DeleteData:)); self.navigationItem.leftBarButtonItem = BARBUTTON(@"Revert", @selector(RevertData:)); } //初始化数据:从plist文件中读取数据 -(void)initData{ NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; NSMutableArray *array = [[NSArray alloc] initWithContentsOfFile:path]; self.Data = array; self.DataArray = array; [array release]; } //指定每个分区中有多少行,默认为1 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [DataArray count]; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger row = indexPath.row; static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier: SimpleTableIdentifier] autorelease]; } cell.textLabel.text = [DataArray objectAtIndex:row]; return cell; } //选中Cell响应事件 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSInteger row = indexPath.row; NSLog(@"%@",[DataArray objectAtIndex:row]); //[tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失 } //划动cell是否出现del按钮 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } //编辑状态 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { NSMutableArray *array = [[NSMutableArray alloc] init]; NSInteger row = indexPath.row; [array addObjectsFromArray:DataArray]; [array removeObjectAtIndex:row]; self.DataArray = array; [array release]; [DataTable reloadData]; } //响应TableView编辑事件 -(void)DeleteData:(id)sender{ if(isClick == YES) { [DataTable beginUpdates]; [DataTable setEditing:YES animated:YES]; self.navigationItem.rightBarButtonItem = BARBUTTON(@"Edit", @selector(DeleteData:)); isClick = NO; }else { [DataTable setEditing:NO animated:YES]; [DataTable endUpdates]; self.navigationItem.rightBarButtonItem = BARBUTTON(@"Done", @selector(DeleteData:)); isClick = YES; } } //还原数据 -(void)RevertData:(id)sender{ NSMutableArray *array = [[NSMutableArray alloc] init]; [array addObjectsFromArray:Data]; self.DataArray = array; [array release]; [DataTable setEditing:NO animated:YES]; [DataTable endUpdates]; [DataTable reloadData]; }
相关文章推荐
- iPhone开发之UITableView的小试牛刀 利用MVC模式从plist文件读取数据并字典转模型的格式实现
- plist文件的读取和tableView的编辑(插入和删除)
- swift读取plist文件内容用UITableView展示
- iOS开发之高级视图—— UITableView(三)读取plist文件
- Asp.net(C#)对文件操作的方法(读取,删除,批量拷贝,删除...)
- ios开发中对UITableView的操作(包括删除,插入,移动位置)
- iphone开发之表格组件UITableView的使用(六)通过加载plist文件展示汽车品牌并添加索引查找
- java操作hdfs 创建文件 删除文件 读取文件
- 读取NTFS的USN(获取文件的历史操作记录,即使这个文件已被删除)
- plist文件及UITableView的高级应用
- php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
- Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
- 1.获得项目中info.plist文件的内容 2.沙盒的数据存储及读取 3.控制器view的高度和状态栏statusBar的关系 4.[UIScreen mainScreen].application
- [android开发]对象的持久化操作 (写入对象到本地文件, 从本地文件中读取对象)
- Asp.Net 文件操作基类(读取,删除,批量拷贝,批量删除,写入)
- 使用EventData()捕获操作对象(包括:新建/修改/删除 Table/Sp/View/Fn)动作
- 使用 UITableView 创建表格应用演练(2)——从plist文件加载并显示数据
- plist文件的 偏好设置 存储与读取 自定义对象归档
- 用python实现文件夹文件读取及删除操作
- swift详解之十九--------------UITableView的基本操作(下拉刷新,新增删除,分组,检索等)