【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记37 TableView Delegate
2015-07-19 22:21
621 查看
上一话介绍了tableView的datasource,本话来介绍另一个重要的部分delegate。
当我们点击一个cell的时候,如何跳转到另外一个mvc中呢?
像增加其他segue一样,点击cell按住control键,右键连线到另一个mvc上,然后松手,选择需要的segue类型。
如果你的cell上还有其他按钮,比如detail disclosure,你也可以选择它的segue:
然后设置你的segue:
接着去prepareForSegue中设置这个segue:
每一个case对应不同的identifier,注意这里的sender是AnyObject类型的。
在prepare中要获取一个sender的信息,还是要把sender转换成它原本的类型,prepare中的这些方法不接受一个AnyObject类型的参数。
然后向目标控制器提供数据:
下面来聊聊delegate:
delegate会观察tableView的动态,比如cell被点击。在不适用segue的时候,可以使用这个代理方法来实现跳转:
delegate还有很多其他的方法:
如果你的模型改变了,记得调用reloadData方法去更新视图。
因为当视图展示的时候两个number方法和CellFor方法都已经调用完了,我们需要在模型改变时使用reloadData这个方法来更新视图,这个方法是一个重量级的方法会更新全部数据,如果你只是改变某一部分的数据,可以使用轻量级的方法:
reloadRowsAtIndexpaths。
tableView中每一行的高度是必须指定的,或者通过自动布局也可以做到。使用代理方法也可以设置row的高度。
除了代理方法,下面将展示一些tableView自己的方法:
当我们点击一个cell的时候,如何跳转到另外一个mvc中呢?
像增加其他segue一样,点击cell按住control键,右键连线到另一个mvc上,然后松手,选择需要的segue类型。
如果你的cell上还有其他按钮,比如detail disclosure,你也可以选择它的segue:
然后设置你的segue:
接着去prepareForSegue中设置这个segue:
每一个case对应不同的identifier,注意这里的sender是AnyObject类型的。
在prepare中要获取一个sender的信息,还是要把sender转换成它原本的类型,prepare中的这些方法不接受一个AnyObject类型的参数。
然后向目标控制器提供数据:
下面来聊聊delegate:
delegate会观察tableView的动态,比如cell被点击。在不适用segue的时候,可以使用这个代理方法来实现跳转:
delegate还有很多其他的方法:
如果你的模型改变了,记得调用reloadData方法去更新视图。
因为当视图展示的时候两个number方法和CellFor方法都已经调用完了,我们需要在模型改变时使用reloadData这个方法来更新视图,这个方法是一个重量级的方法会更新全部数据,如果你只是改变某一部分的数据,可以使用轻量级的方法:
reloadRowsAtIndexpaths。
tableView中每一行的高度是必须指定的,或者通过自动布局也可以做到。使用代理方法也可以设置row的高度。
除了代理方法,下面将展示一些tableView自己的方法:
相关文章推荐
- IOS应用
- 一个猜数字输赢的小游戏
- iOS初学者第四天
- iOS 字符串读写
- iOS 即使通讯第三方SDK 资料
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
- ios 距离传感器和摇一摇
- wxhl ios bj 49 张浩 学习心得连载 第一章
- iostream.h和iostream 区别,“cout”: 未声明的标识符”
- iOS开发中,关于什么时候使用点语法的解答
- iOS Touch ID使用
- iOS常用设计模式之观察者模式
- 一个仿IOS风格的AlertDialog
- iOS常用设计模式之委托模式
- iOS常用设计模式之单例模式
- IOS TableView滑动不灵敏问题
- IOS数组的排序和筛选
- IOS取消performSelector警告
- IOS艺术字及简单的图文混排
- IOS计算文字高度