Swift入门教程18-代理Delegate

本文是Swift初学者教程,介绍了代理(Delegate)的概念及其重要性。通过实例解析,展示了如何定义协议、实现代理方法,以及在实际场景中如何使用代理处理耗时操作的开始和结束通知。
摘要由CSDN通过智能技术生成

原创Blog,转载请注明出处

http://blog.csdn.net/hello_hwc

一 代理的理解

  何为代理?顾名思义,代理就是把自己做的任务交给别人做。让代理遵循着监听到一些事件,实现一些数据源。做过IOS开发的都应该知道TableView有两个属性,delegate和dataSource。这就是代理最好的体现,tableView在设计之初并不知道这个tableView将来会放在哪里,存储的是什么东西,这里数据源就起到了关键性作用:对于设计者来说,我只要依据数据源来生成对应的视图,对于使用者,只需要填充数据源。而delegate则给予用户一个接口来响应一些事件,比如tableview中的一行被点击等等。


二 实例解析

  用一个例子来分析下,对于一个设计者应该如何设计代理,这个例子主要用来模拟一些耗时比较长的任务(用sleep替代),那么把要开始执行该任务和执行完了该任务两个事件返回给用户尤其重要。首先打开XCode建立一个新的工程,选择Swift语言,接下来只需要修改默认创建的Viewcontroller

(1)定义抽象的实现方案(协议),该协议的遵循着要实现两个事件

protocol hwcSleepDelegate{

   func willStartToSleep()

   func didFinishedSleep()

}


(2)定义功能类,来模拟耗时比较长的任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值