1.如何向TableView中增加一行数据(反向传值)
当从第二个界面返回第一个界面时,将数据传回给当前界面的模型层,但是界面不会自动的刷新,需要手动通知tableView刷新界面(重新执行三问)。
在viewDidApear方法中
[self.tableView reloadData];//全局刷新
[self.tableView insertRowsAtIndexPath:…];//局部刷新
注:如果复用指定样式的Cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if(cell == nil){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
2.tableView的编辑模式
2.1 是什么
可以向TableView中插入、删除、移动Cell的一种状态。
2.2 如何进行编辑模式
(1)UITableView有个属性editing(BOOL),将其值设置为YES会进行编辑模式,NO会退出编辑模式。
(2)如何删除和插入
两问一响应:
两问:
<1>哪些行进入编辑模式:(默认是所有行)
-(BOOL)tableView:canEditRowAtIndexPath
CocoaLigature0 <2>进入模式时,样式是什么样的:(默认是删除)
-(UITableViewCellEditingStyle)tableView edtingStyleForRowAtIndexPath;
一响应:
commitEditingStyle:forRowAtIndexRow:
删除数据:
1)***先从模型层删除相应的数据
2)再从View层删除相应的数据
插入数据
1)***向模型层中插入相应的数据
2)在视图层添加相应的数据
(3)移动行
一问一响应(在编辑状态下 按住某行Cell进行移动)
一问:
哪些行可以移动(默认是所有行都可以移动)
-(BOOL)tableView:canMoveRowAtIndexPath:
一响应:
当用户进行移动时,调用哪个方法进行数据
-(void)tableView:moveRowAtIndexPath:toIndexPath;
操作步骤:
1.从model层,取出要移动的数据,将原来位置的数据删除掉
2.添加到新的位置 会自动刷新视图