OC中的委托实例
来源:互联网 发布:windows snmp 编辑:程序博客网 时间:2024/05/22 14:33
这里我用到了一个唱歌的,一个跳舞的,一个指挥,作为委托例子:
协议声明:
@protocol PRRPerformance_Protocol <NSObject>-(void)performSomeAction;@end
舞者:
@implementation Dancer-(void)performSomeAction{ NSLog(@"left left right right");}@end
歌者:
@implementation Singer- (void)performSomeAction{ NSLog(@"HA li lu ya!");}@end
它们同时遵从上面的协议,马戏团指挥有一个属性:
@interface Conductor : NSObject@property id <PRRPerformance_Protocol> performer;-(void)lettingPerformerDoSomething;@end
指挥的实现:
@implementation Conductor-(void)lettingPerformerDoSomething{ [[self performer]performSomeAction];}@end
使用委托:
int main(int argc, const char * argv[]) { @autoreleasepool { Dancer *d = [[Dancer alloc]init]; Singer *s = [[Singer alloc]init]; Conductor *c = [[Conductor alloc]init]; //让表演者为舞者 c.performer = d; //舞者跳舞 [c lettingPerformerDoSomething]; //让表演者为歌者 c.performer = s; //歌者唱歌 [c lettingPerformerDoSomething]; //上面的就相当于数据源是不同对象,然后显示器对象将不同数据源显示到屏幕上,它不关心数据源的类型,只要数据源遵从特定协议(这里的协议是PRRPerformance_Protocol),就可以使用它来输出。 } return 0;}
输出如下:
left left right right HA li lu ya!
0 0
- OC中的委托实例
- 关于OC中的委托
- OC中的以协议实现的委托
- javascript中的事件委托实例
- OC中的排序方法实例
- OC中的单例模式和委托模式
- OC中的单例模式和委托模式
- OC中的单例模式和委托模式
- iOS开发-OC中的实例变量
- OC中的类方法与实例方法
- OC中的类方法与实例方法
- 委托(委托实例化)
- 委托实例
- 委托实例
- OC协议 委托
- OC-委托模式
- OC语言 委托模式
- swift 调用oc委托
- OS X EI Captan 中Rootless
- InterlliJ IDEA编写带有命令行参数的Java程序
- Unity3D 学习笔记7 —— 获取热更新资源文件的MD5码
- android 面试经典(5)
- 10021---Compose and Model the Merchandise Shop
- OC中的委托实例
- Catch That Cow
- 扩展型模式之Visitor(访问者)模式
- 辉光特效
- bzoj3930【CQOI2015】选数
- Java中的hashCode二
- Bencode的编码与解码
- 解决pip install 时locale.Error: unsupported locale setting
- android面试经典(6)