ios 中零散的小功能
来源:互联网 发布:sql漏洞检测工具 编辑:程序博客网 时间:2024/05/16 00:46
tableview自带的删除cell的功能当我们的控制其实现了UITablleViewDelegate,然后在调用tableview的setEditing:animated:的时候[myTableView setEditing:!myTableView.editing animated:YES];就会自动的调用tableView: editingStyleForRowAtIndexPath:
这两个是UITableView的代理方法:
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ if (tableView.editing) { return UITableViewCellEditingStyleDelete; }else{ return UITableViewCellEditingStyleNone; }}
根据他的返回值来决定我们tableview的样式:
UITableViewCellEditingStyleDelete对应的样式,我们可以通过tableView的editing来区分当前显示的样式
当我们的点击Delete时会自动的调用 tableView:commitEditingStyle:editingStyle forRowAtIndexPath:
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{ testNum--; [tableView reloadData];//布局bug}在这个方法里面利用deleteRowsAtIndexPaths:(NSArray) withRowAnimation:方法删除cell
其中NSArray是一个NSIndexPath的数组可以删除多个cell
kvo(键值监听):
我们利用kvo实现程序之间的通讯,他的优点就是可以监听到模型对象中的值得变化.适合做视图的更新功能等.
这里说说他和代理和通知之间的不同,对于代理我们的程序要检测到一个对象模型中数据的变化,就需要在对象模型中拥有控制器的引用,当模型数据改变的时候通知控制器,然而控制器的数据来源有事模型,所以也要有模型的引用,这样一开,就造成了互相的引用.对于通知来说每当模型中数据改变的时候都需要向通知中心发送消息,这样显然还需要通过消息中心来实现通知,比较繁琐.而kvo就是解决这里问题的比较好的方法.当Model中的数据在某处修改了,引用到他的控制器就会收到监听,从而可以自己作调整.
用到的方法:
-(void)addobserver:(监听者)forkeypath:(被监听模型的成员字段):options:context://被监听的模型调用这个方法
-(void)removeobserver:forkeypath://对象销毁是删除监听
-observievalueforkeypath:(被监听模型的成员字段)ofobject:(被监听的对象)changes:(新数据的数组key:new,old)context;//需要控制其重写的方法
我们在实现的时候只要在控制器中引用了模型,并调用模型的添加kvo监听方法,最后重写回掉的方法,这样当模型的数据被修改是,我们的控制器就会自动的做出反映了
- ios 中零散的小功能
- 零散的小知识
- 总结零散的小知识
- 学习IOS--零散的记忆
- iOS 开发中常用的小功能(打电话,发短信...)
- javascript中零散的知识点
- ios中UI零散知识点记录
- IOS开发过程中,零散知识点小记
- 一些小知识 零散的C++
- iOS常用小功能的实现
- iOS开发之UIApplication的小功能
- iOS文件操作的十个小功能
- iOS 一些小的功能实现
- iOS 的小功能代码段
- 不能忽略的ios小功能
- 学习MongoDB过程中零散的知识
- Android学习中一些零散的知识点
- 功能实现(零散)
- Ext4,Ext3的特点和区别
- D. MUH and Cube Walls(Codeforces Round #269)
- 第7周项目2.2圆柱体表面积
- 2014多校5(1008)HDU4918(点分治)
- 栈
- ios 中零散的小功能
- 动态生成对象初始化细节
- Linux源码安装mysql 5.6.12 (cmake编译)
- 第7周项目3求3个数的最大值
- Android自动化测试之Robotium项目创建
- 百度搜索引擎高级搜索指令
- Strategic game
- 多媒体压缩格式
- C语言编程笔记-01