美文网首页
代理的基本使用

代理的基本使用

作者: if_you_like | 来源:发表于2017-08-21 16:34 被阅读8次

iOS中傳值的方法有這些
1.通知:在iOS中由通知中心进行消息接收和消息广播,是一种一对多的消息传递方式。
2.代理:是一种通用的设计模式,iOS中对代理支持的很好,由代理对象、委托者、协议三部分组成。
3.block:iOS4.0中引入的一种回调方法,可以将回调处理代码直接写在block代码块中,看起来逻辑清晰代码整齐。
4.target action:通过将对象传递到另一个类中,在另一个类中将该对象当做target的方式,来调用该对象方法,从内存角度来说和代理类似。
5.KVO:NSObject的Category-NSKeyValueObserving,通过属性监听的方式来监测某个值的变化,当值发生变化时调用KVO的回调方法。

代理

iOS代理在傳值中也很常用(但是我還是喜歡block),不管怎麼說這個代理也得會吧,面試又問的呀。畢竟代理也有自己的好處。
寫代理記住了流程就是:主動方指定代理實現代理的方法,被動方接受代理。
主動方:.h

@protocol TopButDelegate <NSObject>//协议

- (void)transButIndex:(NSInteger)index;//协议方法

@end
@interface AddressBarView : UIView
@property (nonatomic, assign) id<TopButDelegate>delegate;//代理属性

.m

//代理方法, 通过BUT 下标 来滑动视图
- (void)ClickBut:(UIButton *)sender{//按鈕或者其他點擊事件
    if (self.delegate && [self.delegate respondsToSelector:@selector(transButIndex:)]) {
//代理存在且有这个transButIndex:方法
        [self.delegate transButIndex:sender.tag - 100];
    }
}

被動方:接受代理

@interface B ()<TopButDelegate>
@property (nonatomic, retain) person * bar; //A类
- (void)viewDidLoad {
    self.bar = [[person alloc] init];
    [self.view addSubview: self.bar];
    self.bar.delegate = self;//给A类的代理属性给self(B类),这样B就可以执行协议方法啦
}
//执行协议方法
- (void)transButIndex:(NSInteger)index
{
    
}

想了解更多-->http://www.cocoachina.com/ios/20160317/15696.html

相关文章

  • 代理的基本使用

    iOS中傳值的方法有這些1.通知:在iOS中由通知中心进行消息接收和消息广播,是一种一对多的消息传递方式。2.代理...

  • 代理的基本使用(delegate)

    1.基本使用 (1)定义一个协议 protocol TryShowDelegate {func returnStr...

  • iOS 代理的基本使用

    简介 代理在开发过程中比较常见,像 就是系统自带的协议,代理一般用来页面间传值,传递事件,接下来通过页面间传值来简...

  • 动态代理——CGLib

    动态代理——CGLib 基本使用 或者 原理分析,待续...

  • iOS的代理的基本使用

    常见的系统自带的代理方法 这个是系统自带的协议 第一步就是在需要代理的B控制器的.h文件来创建一个代理处理 @pr...

  • java动态代理使用介绍

    简单介绍如何使用java动态代理,及稍微进一步介绍基本实现原理 基本用法 基本原理 通过Proxy类生成接口的代理...

  • 代理模式(OC与Swift)

    <一> 代理模式基本使用 (OC版) 个人理解: 代理就是自己不想做的事情,让代理做。(类似老板和秘书) 委托方 ...

  • ios-代理的基本使用

    代理的基本用法 界面由A->B 再由B->A 的时候,需要B的值传值给A以下是用代理的方法实现, 代理和传值是先...

  • 4.1 UITextFiled文本框

    ios UITextField文本框基本使用,以及所有代理方法的作用

  • swift 代理的使用

    代理的使用方式和场景很多,这里我就用代理传值来做例子吧 以上,就是代理传值的基本一个使用,要是有哪里不对的请各位指...

网友评论

      本文标题:代理的基本使用

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