swift -- 代理delegate】的更多相关文章

1.声明协议 protocol SecondDelagate { func sendValue(text : String!) -> Void } 2.声明代理属性 var delegate : SecondValue! 3.调用代理方法 self.delegate.sendValue(textField.text) 其他类: 4.遵守代理协议(其他类) 5.设置代理属性 secondVC.delegate = self 6.实现代理方法 func sendValue(text : String…
Swift代理的使用 协议规定了用来实现某一特定功能所必需的方法和属性. 任意能够满足协议要求的类型被称为遵循(conform)这个协议. 类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能. 1.申明代理 // 协议内容 @objc protocol TLSelectViewDelegate{ func TLSelectViewDidSelected()  //必须方法 @objc optional func TLSelectViewQuit() //可选方法 } 2…
UITableView的数据源(dataSource)和代理(delegate) UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共有多少行数据以及每一行显示什么数据等.没有设置数据源的UITableView只是个空壳.凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源. 通常都要为UITableView设置代理对象(delegate),以便在UITableView触发一下事件时做…
1.概念与组成 delegate是iOS中一种常见的设计模式,是一种消息传递的的方式,常见的消息传递方式还有以下几种: 通知:在iOS中由通知中心进行消息接收和消息广播,是一种一对多的消息传递方式. 代理:是一种通用的设计模式,iOS中对代理支持的很好,由代理对象.委托者.协议三部分组成. block:iOS4.0中引入的一种回调方法,可以将回调处理代码直接写在block代码块中,看起来逻辑清晰代码整齐. target action:通过将对象传递到另一个类中,在另一个类中将该对象当做targe…
一.有关回调 我们知道,执行函数的时候,一般都有return作为返回参数了,那有return了为什么还要回调呢? 回调是为了实现异步的返回,在某些特殊的情况下,比如你执行的函数是一个长时间运行的函数,并不能直接返回给你结果,为了不影响源程序其他步骤的执行,你得继续执行下去,等那边产生结果了再“主动告诉你”结果是什么. 其原理不外乎:A调用B中函数,传递参数和自身指针,B执行完成再通过传递过来的指针重新调用A中函数. 在iOS开发中,实现回调的方式有:Delegate和Block.前者用变量指针实…
在swift中,使用代理 ,可能很多人会这样实现: .首先定义一份协议. protocol ToolProrocol{ //代理方法 func didRecieveResults(result:Int) } .定义一个代理属性 //声明代理属性 var delegate : ToolProrocol? self.) . 使用时,设置代理和实现 xxx.delegate = self func didRecieveResults(result: Int) { } 但其实,这样会有个隐患问题,那就是…
代理声明: //oc调用代理 @objc(NurseListCellDelegate) protocol NurseListCellDelegate : NSObjectProtocol{ func nurseListCellDidClickedDeleteNurseAction(nurseListCell: NurseListCell) func nurseListCellDidClickedFreezeNurseAction(nurseListCell: NurseListCell) } c…
今天写了delegate,遇到以下问题: 这里protocol的写法有问题,如果delegate指向一个实现了某个协议对象的引用,在oc里是这样写delegate的类型 id<protocol>,而在swift中,没有这种写法,应该像上面那样直接写出协议名,因此,协议声明应该这样写: protocol MyPickerViewDelegate: NSObjectProtocol { func pickerConfirm(content:String) } 这也是因为,除了class 外,str…
做了一年的iOS,想记录自己对知识点的一点理解. 第一篇,想记录一下iOS中delegate(委托,也有人称作代理)的理解吧. 故名思议,delegate就是代理的含义, 一件事情自己不方便做,然后交给其他人去帮助实现, 比如A.B两个类,A的一个对象有一个任务aTask要在B类中实现,任务无法在A类本身中实现,所以要交给B类帮忙,则A和B约定一个协议: A类: @protocol ADelegate <NSObject> -(void)aTask; //协议的一个方法 @end //代理属性…
协议和代理对于一个新手来说确实不讨好理解,也有很多的iOS开发的老手对此是懂非懂的.网上的很多博文只是讲了怎么使用,并没有说的很明白.下面我谈一下我的理解. 1.你要先搞明白,协议和代理为什么会出现,也就是说它存在的意义是什么,解决了什么问题. 协议和代理是模块化开发和封装的产物. 先讲一个小故事帮助大家理解: 老王有一家餐馆,刚刚开始的时候规模很小,所以老王一个人做了所有的事情:扫地,做菜,迎宾,上菜,收银.但是后面随着规模的扩大,老王一个人就吃不消了,忙死也忙不过来了.这时候怎么办?大家都很…