传值三种场景:

1.属性传值(从前往后传)

需求:第二个界面标签显示第一个界面输入框文字.

第一步, 在前一个界面定义属性. (语义属性声明为copy);

第二步, 在进入下一个界面之前,给属性传入数据.

第三步, 在后一个界面读取数据.

2.代理传值(从后往前传)

需求:

第一步:在后一个界面定义协议;并且定义一个方法,有一个参数,参数类型和传值类型一样;

第二步:定义代理属性.语义特性为assign, 类型为id,并且服从协议.id<xxxdelegate>;

第三步:寻找代理对象,(在push之前)为后一个界面指定代理对象为前一个界面.

第四步:服从对应的协议(直接在.m文件延展后服从);

第五步:实现协议中的方法;

第六步:告诉代理对象什么时候(时机)执行协议中的方法(做安全处理,respondsTo);

block传值(从后往前传值)

待完成.

3.间隔多个界面传值: 方式 --- 单例传值(和属性传值类似).

第一步,创建单例类.

第二步:定义创建单例的方法.

+ (Singleton *)mainSingleton;

第三步,定义属性,存储传输的数据.

在.h文件中定义属性
@property (nonatomic, copy) NSString *text; 在.m文件中实现时,要注意加上线程保护.(因为可能会出现单例还没有创建出来的时候,就去执行了访问.单线程可以保证访问之前创建的方法肯定执行完了,也就是单例已经创建出来了.) static Singleton *single = nil;//保证第一次初始化时,能够将单例创建出来.

+ (Singleton *)mainSingleton {

@synchronized(self) {

if (!single) {

single = [[Singleton alloc] init];

}

}

return single;

}

iOS学习之页面之间传值的方式总结的更多相关文章

  1. ASP.NET页面之间传值的方式之Server.Transfer(个人整理)

    Server.Transfer 这个方法相比以前介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写 ...

  2. ASP.NET页面之间传值的方式之Cookie(个人整理)

    Cookie Cookie 提供了一种在 Web 应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用 Cookie 存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序 ...

  3. ASP.NET页面之间传值的方式之Session(个人整理)

    Session Session在ASP.NET中,表示客户端(Goggle,Firefox,IE等)与服务器端的会话,用来存储特定会话信息,准确来说,是用来存储特定用户信息.当客户端向服务器发送一个请 ...

  4. ASP.NET页面之间传值的方式之Application(个人整理)

    Application  Application变量在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用 ...

  5. ASP.NET页面之间传值的方式之QueryString(个人整理)

    QueryString Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL.如果要从A页面跳转到B页面,则可以用Request.Redirect(”B.aspx?参数名=参数 ...

  6. 【转载】ASP.NET页面之间传值的方式之QueryString(个人整理)

    转自: https://www.cnblogs.com/kudsu/p/7694637.html QueryString Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL. ...

  7. iOS block进行页面之间传值

    #import <UIKit/UIKit.h> @interface FirstViewController : UIViewController @property (weak, non ...

  8. Block作为property属性实现页面之间传值(代替Delegate代理与协议结合的方法)

    需求:在ViewController中,点击Button,push到下一个页面NextViewController,在NextViewController的输入框TextField中输入一串字符,返回 ...

  9. ASP.NET 页面之间传值的几种方式

    开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...

随机推荐

  1. 文本阴影:text-shadow

    例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  2. Entity Framewor 学习笔记 (碎碎的东西)

    Proxy 类代理类是为了让EF实现lazy load才需要的 public class BloggingContext : DbContext {     public BloggingContex ...

  3. Large sum

    聪明的办法是想:求前10位,那只要前8位加起来,进2位就OK. 本的办法,就是真的加起来,截前面10位.如我. numList = str.split() sum = 0 for i in range ...

  4. VC++中调用cmd的集中方式

    1. system方法: 原型: int __cdecl system(const char *); 例如: system("ipconfig"); 2. WinExec方法: 相 ...

  5. mkbundle(1) - Linux man page

    mkbundle(1) - Linux man page Name mkbundle, mkbundle2 - Creates a bundled executable. Synopsis mkbun ...

  6. 8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句

    8.2.1.2 How MySQL Optimizes WHERE Clauses MySQL 优化WHERE 子句 本节讨论优化用于处理WHERE子句, 例子是使用SELECT 语句,但是相同的优化 ...

  7. Linux企业级项目实践之网络爬虫(26)——线程池

    一旦有一个抓取请求开始,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出.这就是"即时创建,即时销毁"的策略.尽管与创建进程相比,创建线程的时间已经大大的缩短,但 ...

  8. 【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错

    原文网址:http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.html 虚拟机我一直在用,不是说离不开Windows,而是有些时候一些应 ...

  9. 【转】你应该知道的 10 个 VirtualBox 技巧与高级特性

    原文网址:http://www.oschina.net/translate/10-virtualbox-tricks-and-advanced-features-you-should-know-abo ...

  10. 【翻译】五步快速使用LINQPad尝鲜StreamInsight

    StreamInsight  学习地址:http://www.cnblogs.com/StreamInsight/archive/2011/10/26/StreamInsight-Query-Seri ...