美文网首页
iOS_简述delegate

iOS_简述delegate

作者: 古流风 | 来源:发表于2016-06-28 10:25 被阅读418次

简单整理一下delegate

delegate分为主动方和被动方,也可以说是委托方和被委托方。
主动方:
1、生成协议
2、要有个遵守协议的属性
3、让代理去调用协议中的方法

被动方:
1、遵守协议
2、设置代理
3、实现协议方法

现在说下主动方,上代码
<pre><code>
secondVC.h:

//生成协议

@protocol SecondViewControllerDelegate<NSObject>

-(void)setBackgroundColor:(UIColor *)color;

@end

@interface SecondViewController : UIViewController

//2、遵守协议的属性

@property (nonatomic,assign)id< SecondViewControllerDelegate >delegate;

@end

secondVC.m

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

if (self.delegate && [self.delegate respondsToSelector:@selector(setViewBackgroundColor:)]) {

[self.delegate setViewBackgroundColor:[UIColor redColor]];//3、代理调用协议中的方法

}else{

NSLog(@"没有设置道理过实现协议中的方法");

}

[self.navigationController popViewControllerAnimated:YES];

}
</code></pre> 被动方:<pre><code>
//被动方的代码都在.m中

1、遵守协议:

@interface ViewController ()< SecondViewControllerDelegate >

@end

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

SecondViewController * vc = [[SecondViewController alloc]init];

vc.delegate = self;//设置代理

[self.navigationController pushViewController:vc animated:YES];

}

//实现协议方法

-(void)setViewBackgroundColor:(UIColor *)color{

self.view.backgroundColor = color;

}
</code></pre>一个简单的代理就这点东西,至于怎么用就看你理解了。

相关文章

  • iOS_简述delegate

    简单整理一下delegate delegate分为主动方和被动方,也可以说是委托方和被委托方。主动方:1、生成协议...

  • 代理简述 - delegate

    delegate(代理)是什么?A需要完成某事情,但是自己不想/自己不能完成,那怎么办? 那么他将需要完成此事的条...

  • 简述block、delegate、NSNotification

    三者的区别:通知是一对多,代理和block是一对一。三者的优缺点:通知:写法简单,但是要注意释放observer,...

  • 三七 互娱 2017 笔试

    简述delegate和event关键字 delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用...

  • iOS_反向传值之Delegate

    前言: 上一篇已经简述了正向传值。本篇文章写一下反向传值的Delegate方式。 用例: A页面:label 和 ...

  • 简述JS中的event delegate

    在javasript中delegate这个词经常出现,看字面的意思,代理、委托。 什么是delegate?我们为什...

  • 简述JS中的event delegate

    大家好,我是IT修真院深圳分院第01期学员,一枚正直善良的web程序员。 今天给大家分享一下,修真院官网 JS任务...

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • Object-C 简述block、delegate、NSNoti

    三者的区别: 通知是一对多; 代理和block是一对一 三者的优缺点: 通知:写法简单,但是要注意释放observ...

  • delegate的调用方法总结

    delegate的调用方法总结 1、直接调用:delegate( args )或者delegate.Invoke(...

网友评论

      本文标题:iOS_简述delegate

      本文链接:https://www.haomeiwen.com/subject/bqktjttx.html