美文网首页iOS 开发继续加油OC学习iOS开发资源
iOS中两个界面之间的传值(代理,Block)

iOS中两个界面之间的传值(代理,Block)

作者: Wind_Wang | 来源:发表于2016-01-11 18:24 被阅读8055次

    一、正向传值
    1、 记得在被传入值的文件中声明一个公开的属性用于接收传过来的值
    2、在适当的时机把要传过去的值赋给这个公开的属性,一般在推出这个界面的方法中
    3、把公开属性的值赋予需要用的地方
    二、反向传值
    1、代理模式
    1)委托方
    a.定义公开的协议
    要点: 1)协议名称:类名+Delegate
    2)方法的第一个参数一定是委托方自己
    3)方法名尽量体现发消息的时机
    b.声明一个公开的delegate属性
    c.在适当的时机给代理发消息
    .h文件中

    Paste_Image.png

    .m文件中

    Paste_Image.png

    2)代理方
    a.遵守协议
    b.将自己设为代理方
    c.实现代理方法
    .m文件中

    Paste_Image.png
     2、代码块
          1)界面二(要传值的控制器)
    

    .h文件中

    Paste_Image.png

    a.先定义声明一个公开的Block属性
    (第一行代码为定义的block重新定义一个名字returnValueBlock,这样在下面使用的时候方便
    第三行声明一个block属性
    第四行是一个block语句块的函数,这样在界面一中用起来会很方便)
    b.实现block语句块函数
    c.寻找合适的时机把需要传入的值赋值给block中
    .m文件中

    Paste_Image.png

    2)界面一(要展示的控制器)
    导入界面二的控制器
    .m文件中

    Paste_Image.png

    相关文章

      网友评论

        本文标题:iOS中两个界面之间的传值(代理,Block)

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