##DAY8 界面通信

注意:延展中写的东西只能在类内使用

#pragma mark ———————属性传值——————————

(第一个页面往第二个页面传值)

一、属性传值:(第一个页面往第二个页面传值)

属性传值:可以自定义属性、也可使用控件、视图的自带属性

1、属性传值用于第一个界面向第二个页面传值

2、明确两者联系的桥梁,也就是触发跳转的地方

3、明确传输的值:类型是什么

4、在第二个视图控制器内部声明相对应类型的属性,来接收传输的值

5、在第二个界面使用传入的值

注意:属性在传值中如果对此属性进行了setter赋值,引用计数 +1,要在dealloc中释放

#pragma mark ———————Block——————————

1、Block是一种数据类型,并且是一种自定义的数据类型

2、Block的标志是^(托字符)

3、Block是匿名函数,TA与函数最主要的区别在于,函数在编译期就已经知道了封装了什么功能,但是Block只有当执行时才知道内部封装的功能,所以说Block更加灵活多变

4、Block的作用也是封装代码段来实现具体功能

5、既然Block是匿名函数,所以赋值时,不能将函数名直接赋值,初值函数的实现体

书写格式:

1、初值中的返回值类型可以不写,但是必须保证函数内部返回给外界的类型与返回值相同

2、定义Block变量的类型中,参数名可以省略不写,但是初值中参数名不能不写,否则无法参与运算

3、如果Block没有参数,那么在初值中表示参数的小括号可以不写

基本使用方法:

Block与变量作用域的关系:

注意:

#pragma mark ———————Block传值——————————

(第二个页面往第一个页面传值)

Block作为参数:

#pragma mark ———————Block传值——————————

##DAY8 界面通信的更多相关文章

  1. UI:UINavigationController、界面通信

    IOS中实现对控制器的管理的控制器有:UINavigationController 和 UITableBarController 两个控制器.下面是主要学习前者. 参考 ⼀.UINavigationC ...

  2. iOSDay27之界面通信

    1. 属性传值(前面的界面给后面传值) 第一步: 在 SecondViewController.h 文件里定义一个存放传过来值的变量 contents #import <UIKit/UIKit. ...

  3. iOS学习之界面通信

    一.属性传值 在SecondViewController.h里 #import <UIKit/UIKit.h> @interface SecondViewController : UIVi ...

  4. UI基础:UINavigationController、界面通信

    UINavigationControlle UINavigationController:导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个视图控制器.也称为多视图控制器. 导航控制器可以 ...

  5. 界面通信之block传值

    block传值有两种方式 ⽅式⼀: 使⽤block属性实现回调传值 ⽅式⼆: 在⽅法中定义block实现回调传值 方式一比较便于理解而且常用,下面介绍方式一是如何传值的 使用block属性传值和代理传 ...

  6. 1 TCP/IP通信

    重点参考长链接http://blog.csdn.net/fengyuzhengfan/article/details/38830115 http://blog.csdn.net/Jsagacity/a ...

  7. IOS开发官方文档随笔

    马上着手开发IOS应用程序 创建第一个单视图应用 ###main 方法 int main(int argc, char * argv[]) { @autoreleasepool { return UI ...

  8. 【ASP.NET】UCenter实现多站点同步登录退出

    利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCent ...

  9. Android按键添加和处理的方案

    Android按键添加和处理的方案  版本号 说明 作者 日期  1.0  Android按键添加和处理的方案 Sky Wang  2013/06/18        需求:Android机器上有个W ...

随机推荐

  1. Servlet的运行方式

    通常我们运行servlet需要在web.xml配置文件中,注册我们写好的servlet以及其对应的访问路径. 在学习web开发中,有一种不需要配置便可以直接对servlet进行配置的方式,在web.x ...

  2. libvirt python binding 变成了一个新项目了。

    http://libvirt.org/git/ $ git clone git://libvirt.org/libvirt-python.git 2013年的事情了. $ git show a7a12 ...

  3. 使用session插件并且实现登录验证

    var express = require('express'); var cookieParser = require('cookie-parser'); var bodyParser = requ ...

  4. http-关于application/x-www-form-urlencoded等字符编码的解释说明

    在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...

  5. Extjs4 操作TreeStore 处理proxyAjax 获取的数据

    近期在搞extjs4 TreeStore时有一个需求 就是要处理一下后台传过来的json数据然后再显示,看api也没有找到解决的方法 ,最后看源代码在Ext.data.proxy.Server 看到这 ...

  6. 2.Visual Studio 2013中的默认快捷键

    这篇大致是IDE的使用技巧,常用的也就那么几个. 我自己用的最多的是注释.取消注释.格式调整.运行测试.开始调试.断开调试.重新开始调试.删除行ctrl+L.保存.全部保存.打开资源管理器.搜索等几个 ...

  7. 算法精解(C语言描述) 第4章 读书笔记

    第4章 算法分析 1.最坏情况分析 评判算法性能的三种情况:最佳情况.平均情况.最坏情况. 为何要做最坏情况分析: 2.O表示法 需关注当算法处理的数据量变得无穷大时,算法性能将趋近一个什么样的值.一 ...

  8. C#实现给手机发送短信

    public static void SendSMS(string FaSongUser, string ToUserList, string ContentStr)    {        //针对 ...

  9. 权威指南之脚本化http

    使用javascript代码操作http是可行的.当用脚本设置window对象的location属性或调用表单对象的submit方法时,都会初始化http请求.这两种情况下,浏览器会加载新页面. aj ...

  10. HTML不常用元素:optgroup

    在网页表单中,<optgroup>元素用于在<select>元素中创建一组选项<option>.这个可以更好的区分每一个组选项之间的区别. 这个元素包含两个属性:d ...