【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记37 TableView Delegate

简介: 上一话介绍了tableView的datasource,本话来介绍另一个重要的部分delegate。

上一话介绍了tableView的datasource,本话来介绍另一个重要的部分delegate。
当我们点击一个cell的时候,如何跳转到另外一个mvc中呢?
像增加其他segue一样,点击cell按住control键,右键连线到另一个mvc上,然后松手,选择需要的segue类型。
选中cell
选择segue
如果你的cell上还有其他按钮,比如detail disclosure,你也可以选择它的segue:
其他segue
然后设置你的segue:
设置segue
接着去prepareForSegue中设置这个segue:
prepare
每一个case对应不同的identifier,注意这里的sender是AnyObject类型的。
prepare
在prepare中要获取一个sender的信息,还是要把sender转换成它原本的类型,prepare中的这些方法不接受一个AnyObject类型的参数。
然后向目标控制器提供数据:
传递数据
下面来聊聊delegate:
delegate
delegate会观察tableView的动态,比如cell被点击。在不适用segue的时候,可以使用这个代理方法来实现跳转:
delegate方法
delegate还有很多其他的方法:
其他方法
如果你的模型改变了,记得调用reloadData方法去更新视图。
reloadData
因为当视图展示的时候两个number方法和CellFor方法都已经调用完了,我们需要在模型改变时使用reloadData这个方法来更新视图,这个方法是一个重量级的方法会更新全部数据,如果你只是改变某一部分的数据,可以使用轻量级的方法:
reloadRowsAtIndexpaths。
tableView中每一行的高度是必须指定的,或者通过自动布局也可以做到。使用代理方法也可以设置row的高度。
除了代理方法,下面将展示一些tableView自己的方法:
方法

目录
相关文章
|
前端开发 iOS开发
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记3 Xcode、Auto Layout及MVC
   继续上一话中的计算器Demo,上一话讲到类必须被初始化,类中的属性也必须被初始化,所以你不能只声明而不给它一个处置,那么问题来了,我们从storyboard中拖拽的@IBOutlet为什么只有声明而不需要初始化呢,这是因为它的类型依旧是一个optional,在你初始化之前已经被赋值为nil了,这也就是为什么你不需要再初始化它的原因。
969 13
Ios8之后, 定位的delegate不能触发的问题
Ios8之后, 定位的delegate不能触发的问题
185 0
|
存储 iOS开发 开发工具
【iOS 开发】UIApplicationDelegate 中两个值得注意的地方
01 - app 的第一个执行代码的机会是什么 新建工程的时候,Xcode 默认创建的 AppDelegate 文件里面会有 UIApplicationDelegate 的 6 个代理方法,其中第一个是 application:didFinishLau...
1055 0
|
iOS开发 C++ 设计模式
iOS设计模式——委托(delegate)
委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。 什么是代理? 苹果的官方文档给了很清晰的解释: Delegation is a simple and power...
1403 0
|
Unix iOS开发
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记1 IOS8概述
  首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,这个系列是我学习斯坦福IOS8公开课的个人心得体会和笔记,希望能给大家带来启发。
1155 0
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
783 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
12月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
451 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
384 66
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
1466 11