对于不同的viewcontroller之间数据的共享和处理

  1. 采用代理的方式,子viewcontroller设计代理协议,并定义协议接口,父viewcontroller实现协议接口,实现子视图控制器退出时将相关数据更新到父视图中

  2. 采用ios的消息机制,父viewcontroller注册消息,子viewcontroller发送消息,触发父viewcontroller的消息处理

  3. 采用database作为数据中间的存储媒介,子viewcontroller将状态数据存入DB,父viewcontrller从DB获取数据更新view

  4. 采用ios的NSdefault存储;

  5. 通过appdelegate中定义全局变量实现中间数据的存储

注:

第一,使用反向代理举例:两个viewcontroller之间,让视图二退出时视图一拥有视图二的颜色;

这里要解决两个问题:第一,视图二退出时,让视图一自己将颜色改掉,毫无疑问,视图一这个类需要增添方法;

这个方法只能是视图二来设计代理协议,并定义协议接口;第二,传值问题,在进入第二个视图之前,第二个视图需将代

理设置为视图一,为后面视图二来调用事件时,代理来调用代理已经实现的方法做铺垫;

比较正向代理的思路:这个是在ui中顺序执行的情况下;在oc阶段遇到person class两个类,我们通过person设计协

议,定义协议接口是person,那么让班级实现把这个person对象添加到班级名录中的方法;

第二:appdelegate这里是UI中的实现runloop的单例,对于单例,我们自己也可以写一个sharedInstance;注意和自

己写一个单例类一样,传值时,appdelegate,sharedInstance都需要拥有要传的数据的字段属性;

第三:这里牵涉到协议@protocal首先在oc中没有多态,多继承;通过@peotocal的方式实现多态;协议谁来做,谁实

现,其对应的头文件中用角括号添加协议名;而后引入代理,老板类在自己的头文件引入需来做这份协议差事的代理字段

属性,并在老板类实现文件中引入协议头文件(而在代理类因为头文件角括号引入了协议,所以其对应实现文件不需再加

协议头文件);

ios应用view之间数据传递的方式的更多相关文章

  1. MVC中Control和View之间数据传递的方式

    1:ViewBag和ViewData 具体区别不做讨论,本处只演示ViewData的具体示例: Controler代码:ViewData["Employee"] = emp; Vi ...

  2. 视图(View)与部分视图(Partial View)之间数据传递

    写ASP.NET MVC程序,我们经常需要把数据从视图(View)传递至部分视图(Partial View) 或者相反. 今天Insus.NET使用 ControllerBase.TempData 进 ...

  3. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  4. Android 在不同Actitity之间数据传递

    本文实现一个简易的人品计算器来实践在不同Actitity之间数据传递 intent的数据传递 从A界面打开B界面 把A界面的数据传递给B界面 1. intent.setData(uri) -- int ...

  5. 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

    1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...

  6. 解析activity之间数据传递方法的详解

    转自:http://www.jb51.net/article/37227.htm 本篇文章是对activity之间数据传递的方法进行了详细的分析介绍,需要的朋友参考下     1  基于消息的通信机制 ...

  7. PCB MVC启动顺序与各层之间数据传递对象关系

    准备着手基于MVC模式写一套Web端流程指示查看,先着手开发WebAPI打通数据接口,后续可扩展手机端 这里将MVC基本关系整理如下: 一.MVC启动顺序 二.MVC各层之间数据传递对象关系

  8. 【MVC】View与Control之间数据传递

    1. Controller向View传递数据 使用ViewData传递数据[弱类型,字典型ViewDataDictionary] ViewData[“Message_ViewData”] = “ He ...

  9. Android activity之间数据传递和共享的方式之Application

    1.基于消息的通信机制  Intent ---bundle ,extra 数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream,或者LinkedList链表等等数据类型就不太好用 ...

随机推荐

  1. openldap---ldapsearch使用

    ldapsearch 參数表 下表描写叙述能够用于 ldapsearch 的区分大写和小写的參数. 參数 用途 -? 打印关于使用 ldapsearch 的帮助. -a deref 指定别名反向引用. ...

  2. Android日志系统驱动程序Logger源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6595744 我们知道,在Android系统中, ...

  3. StaggeredGridView+universal-image-loader载入网路图片实现瀑布流

    StaggeredGridView 开源lib  https://github.com/maurycyw/StaggeredGridView 文章demo下载地址  http://download.c ...

  4. POJ1742:Coins(多重背包)

    Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...

  5. 3. QT窗体间值的传递(续)

    一.前言 上篇博客中通过重载子窗体的构造函数将主窗体的值传入到子窗体,但是在子窗体运行过程中如何才能将值动态的传入到子窗体?可以有两种办法,1.信号和槽的方式传值:2.主窗体中将传出值设置为publi ...

  6. MySQL 触发器的定义

    -- Insert DELIMITER $$ USE `testdatabase`$$ DROP TRIGGER /*!50032 IF EXISTS */ `Trigger_XXX_INSERT`$ ...

  7. UIScrollView的大全

    UIScrollView是iOS中提供滚动控件,用于解决当内容区域大于可视区域时不能完全查看的问题,UISrollView就可提供滑动方式查看全部内容,UISrollView是所有滚动视图的基类,后期 ...

  8. 一次$.getJSON不执行的记录

    别人的代码,拿过来调,发现修改功能都不能用,修改时通过ajax发json获取数据的,看chrome开发者工具发现有发送数据,也有返回值: 发起请求并获取数据,发现回调函数不执行! $.getJSON( ...

  9. [Leetcode] Container With Most Water ( C++)

    题目: Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, a ...

  10. SQL语句 计算某段时间工作日的天数(除了周六日)

    --只是加了固定日期,可以根据需求给成变量形式(BY 少年工藤) -思路:根据日期区间循环判断每一天是周日(1).周六(7)不变,其他加1 1 DECLARE @DAY DATE,@COUNT INT ...