美文网首页
iOS 页面(代理、通知、block、单例、属性)传值

iOS 页面(代理、通知、block、单例、属性)传值

作者: Sam_xing | 来源:发表于2017-07-25 13:29 被阅读54次

    iOS 页面(代理、通知、block、单例、属性)传值

    一、传值分类

    页面传值基本分为两种:正向传值和反向传值。

    二、传值方式

    传值,最基本的无非就是代理传值、通知传值、block传值等,还有大家经常用到的属性传值和单例传值、存储传值等。

    1、代理传值

    代理传值,简单明了、浅显易懂,实际开发中也常用。

    委托做的事情:

    声明委托变量

    定义协议方法

    调用委托协议

    代理需要做的事情:

    执行代理协议

    实现委托方法

    2、通知传值

    通知的用法很简单,通知人创建通知并发送,接收人接受通知就OK了,通知完毕注意移除掉通知,醒目中通知太多并不好(接受的二手项目通知就泛滥成zai了)

    最后大家一定不要忘了把通知移除掉,最好在dealloc方法中移除。以免给大家造成不必要的麻烦。只有把代码写到最严谨才能把bug降到最低。移除通知一般遵循谁创建谁移除。在哪个控制创建就在哪个控制器里移除。

    3、block传值

    声明 block 属性用于传值

    传值的时候调用block 完成传值

    接受方:

    传值一个block 给传值方,并在block内捕获回调值信息

    4、属性传值

    属性传值是最常用到的,不会用的,基本上可以告别IT圈了。

    5、单例传值

    单例顾名思义就是单独一个实例,相当于一个通用变量在整个工程中可以用作公共资源使用。单例分为系统单例和自定义单例。

    6、数据持久化传值

    NSUserDefaults是数据持久化的一种主要做存储使用。

    相关文章

      网友评论

          本文标题:iOS 页面(代理、通知、block、单例、属性)传值

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