请简述页面传值都有哪些实现方式。

请简述页面传值都有哪些实现方式。

代理、block、通知、属性传值、单例传值、NSUserDefault

(1)属性传值:A页面的值跳转到B页面之后把值传给B页面,只需要在.h文件中定义属性,A页面在跳转之前赋值给B页面的实例对象属性即可。一般用于正向传值给跳转界面。
(2)代理传值:首先在跳转界面B.h文件定义代理协议方法 ——>在B.m页面中实现委托 ——>在A.m中遵守协议,实现协议方法;这种方法多用于反向传值,即跳转界面传值返回给上个界面。
(3)通知传值:是要监听值得变化,谁就注册通知。A页面要监听B页面的值得变化,那么就在初始化方法里注册通知,当B页面的值发生变化时A页面就会执行change方法,在B页面小时方法中推送一个通知,相当于定义一个表示把值传给该标识通知的注册者。通知传值是一对多的关系,一般用于跳转界面传值给上一界面。
(4)单例传值:新建一个继承NSObject的类;在.h文件里声明一个属性和一个类方法;在.m文件实现类方法,初始化;单例方法其实就是一个只会初始化一次,然后给他赋值共享的一个单例,该方法适合正向和反向传值,但是不要滥用。
(5)Block传值:其实就是一部的高级传值方法,适用于传值给谁给上一页面。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,067评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 27,674评论 5 19
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 10,913评论 0 11
  • 2016年9月23日 《华胥引》唐七公子 慕言 叶臻 永安,卿酒酒 对花对酒,落梅成愁,十里长亭水悠悠。 ...
    十里溪阅读 269评论 0 0