1. Delegate函数
在Cocoa Touch类对象运行的周期中,某一个时间点它会去调用一些指定类的指定函数来完成他自身所要完成的功能。这个”指定的类”,就称为这个类的委托类。”指定函数”则是一些在协议(protocal)中完定义的方法。post
好比UITableView,在它的运行周期中,它会调用委托类的一系列函数来完成对自身的初始化工做。咱们须要作的,只是指定好它的委托类,而且在委托类中实现UITableView将要调用的委托方法。那我怎么知道UITableView要调用哪些方法呢?其实很简单,它所要调用的方法都定义在了协议类里面。在文档中能够找到,与UITableView相关的协议类的名字也都是以UITableView开头。其中定义的方法就是UITableView在运行周期中所要调用的一些方法。spa
2. Targetcode
继承自UIControl的类,例如UIButton,能够设置当被触发某个事件时,去调用target对象的selector函数。server
[UIButton addTarget: 目标对象名称 action:函数名称 forControlEvents:事件名称]
3. Notification对象
这种方式容许某个对象向消息中心发送消息,这些消息可能标有一些状态信息。另一些对象可能会在消息中心监听带有某些状态消息的信息,从而作出相应。blog
NSNotification *ntf = [NSNotification notificationWithName:@"chgValue" object:self]; //声明一个消息,名称为chgValue,发送者是对象自己。 NSNotificationCenter *ntfCenter = [NSNotificationCenter defaultCenter]; [ntfCenter postNotification:ntf]; //得到消息中心的单例,将定义好的消息发送给消息中心。 NSNotificationCenter *ntfCenter = [NSNotificationCenter defaultCenter]; [ntfCenter addObserver:self selector:@selector(getNtf) name:@"chgValue" object:self]; [ntfCenter addObserver:self selector:@selector(getNtf2) name:@"chgValue" object:self]; //得到消息中心的单例,未来源是本对象,名称为chgValue的消息分发给本对象的getNtf和getNtf2函数。