美文网首页
iOS 开发中 代理传值

iOS 开发中 代理传值

作者: SuChAChAoS | 来源:发表于2017-07-24 15:37 被阅读0次

A 向 B 传值:

A要传值,就要告诉别人我可以传值。

A 要声明这个协议,定义遵守该协议的delegate属性。

A本身并不关心数据传给谁了,谁实现了协议的方法就把数据传给谁。

A用protocol告诉别人我可以把数据传出去后,先判断[_delegate respondsToSelector]是否为真,若为真,则调用协议里的方法------->传值

B要接受值,就要遵守这个协议,实现协议里规定的方法,将self赋值给A的delegate,实现协议的方法的同时------------------------->收值

-------------------------------------------------------------------------------------

嗯,当然也可以用block来实现

A 向 B 传值:

A要传值,同样也要在A中声明这个block,并且调用这个block,将值作为参数传出去。

B要收值,就要实现这个block,并且值已经作为参数传进来可以直接使用。

但是会出现循环强应用的情况,下边是解决办法:

- (void)btnClicked:(id)sender

{

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

    __weak typeof(self) weakself = self;

     _viewB.showText = ^{

         __strong typeof(weakself) strongself = weakself;

        strongself->_btn.backgroundColor = [UIColor redColor];

    };

}

相关文章

  • iOS 常用传值方式

    总结 iOS 日常开发中的几种常用传值方式:正向传值代理传值block传值通知传值单例 文章代码:https://...

  • [学习笔记]_iOS代理基本使用,界面间传值

    参考链接: 你真的了解iOS代理设计模式吗? iOS开发-Protocol协议及委托代理(Delegate)传值 ...

  • ios 常见的几种逆向传值方式

    在iOS开发中,常见的几种逆向传值方式,有代理(delegate)、通知(NSNotification),bloc...

  • iOS中常见的几种逆向传值方式

    在iOS开发中,常见的几种逆向传值方式,有代理(delegate)、通知(NSNotification),bloc...

  • ObJective-C之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • iOS开发之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • iOS 开发中 代理传值

    A 向 B 传值: A要传值,就要告诉别人我可以传值。 A 要声明这个协议,定义遵守该协议的delegate属性。...

  • iOS开发之通过代理逆向传值

    在iOS开发中,传值是几乎每个App都会用到的,对于传统的顺向传值应该说是比较简单的,但是逆向传值往往会用到代理模...

  • iOS开发-代理传值

    代理传值的步骤: 需要传值的界面操作步骤: 1.声明代理协议 2.声明代理方法 3.声明一个属性,用来表示当前类对...

  • iOS中的传值方式

    在日常开发过程中,我们经常会遇到值传递。这里,介绍几种iOS开发中常见的传值方式。 1.属性传值 属性传值是iOS...

网友评论

      本文标题:iOS 开发中 代理传值

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