博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8种传值方式
阅读量:5134 次
发布时间:2019-06-13

本文共 931 字,大约阅读时间需要 3 分钟。

传值方式

1 初始化传值:(顺传)

       自定义初始化方法在 UI中,一般在一个界面推送另一个界面的时候,因此要是想用想到既然要用自定义初始化方法,至少要在该方法中去创建该对象.所以这种方式不适合回调.

  • 自定义初始化方法,将需要传递的内容作为参数,如需要传递多个,则设置多个参数.
  • 在合适的地方进行调用自定义初始化方法.

2 属性传值:(顺传)

  • 定义公开属性
  • 需要一个你传值的的对象
  • 属性赋值

3 单例传值:(顺传和逆传都行)

       单例的好处就在于只要创建一次,其余任何时候使用的时候使用的都是同一个,所以很多时候用户的一些信息存储到单例中,这样就不需要进行多次传值了,只需要再次创建单例就行了.

4 AppDelegate传值:

  • 在AppDelegate中声明一个属性
  • 通过AppDelegate *app = [[UIApplocation sharedApplication] delegate];保存属性
  • 通过AppDelegate *app = [UIApplocation sharedApplication].delegate;s使用属性.

5 通知传值:(顺传和逆传)

  • 创建通知发送者
  • 创建通知的接收者
  • 销毁通知

6 代理传值:(顺传和逆传) (控制器由 AàB)

       B.h 中:制定协议  设置代理属性

       B.m 中:在需要代理做事情时让代理执行协议和方法.(注:先判断再执行防止崩溃)

       A.m 中:设置代理  遵守协议  实现代理方法

7 block 传值:(顺传和逆传)(在 B 中声明和调用 在 A 中实现)

  • 为 block 取别名,并在参数列表中将需要传递的参数写为形参.
  • 设置 block 属性(注:用 weak)
  • 设置一个方法持有当前block
  • 在合适的地方调用
  • 在创建该对象的的地方进行 block 调用

8 NSUserDefault或文件传值:(顺传和逆传)

       [[NSUserDefault standardUserDefault] objectForKey:];

       倒传需要在 ViewWillAppear 和 ViewDidAppear.

转载于:https://www.cnblogs.com/xuan-yuan/p/5436592.html

你可能感兴趣的文章
自创本派高考理数试题集现在发布
查看>>
练习 后缀数组
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
[C++] 前置++与后置++
查看>>
c#制作飘动动画窗体
查看>>
正则表达式中/i,/g,/ig,/gi,/m的区别和含义
查看>>
disable jboss JMXInvokerServlet .
查看>>
JavaScript事件冒泡简介及应用
查看>>
Oracle学习 实战心得总结
查看>>
Oracle学习 第20天 PL/SQL导入
查看>>
[USACO10MAR]伟大的奶牛聚集
查看>>
Android跳转到拨打电话的页面
查看>>
【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)
查看>>
Linux字符模式下如何设置/删除环境变量
查看>>
HTTPS加密原理(转)
查看>>
开发动态编辑的表格
查看>>
iPad pro & 显示器
查看>>
吴恩达深度学习笔记(十一)—— dropout正则化
查看>>
lisp 编程入门
查看>>
webgl与opengl技术资讯
查看>>