##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. Qt 设置对话框背景(使用调色板,设置它的画刷,画刷可以是图片)

    http://blog.csdn.net/ei__nino/article/details/7305234

  2. 一个在mac上编译c++程序的低级失误

    今天在编译hadoop的pipes的wordcount例子时,总是报错不能成功. g++ -m64 -I/Users/stephen/Downloads/hadoop-0.20.2/c++/Mac_O ...

  3. JavaScript常用内置对象(window、document、form对象)

    由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...

  4. Android在应用中依据包名启动另外一个APP

    以下为TestIntentData工程 MainActivity如下: package cn.testintentdata; import java.util.List; import android ...

  5. NAND FLASH

    NAND Flash 以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用. 1. 概述 MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来数据传输.地址 ...

  6. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  7. CSS用法简介

    CSS(Cascading Style Sheets层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. 1.基本使用语法   ...

  8. gulp使用心得

    本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.不要怕,它其实很简单,我会分为五步向你介绍gulp并帮助你完成一些惊人的事情.那就直接开始吧. 第一步 ...

  9. text选中后displa出label内容

    效果很好而且很简单 用text的click属性即可 private sub text1_click()label1.caption="******"label2.caption=& ...

  10. 20141014C#面向对象抽象方法,抽象类,接口

    里氏代换原则.可以用子类的对象替代父类的对象. 抽象依赖原则.依赖——形参,关联 一.抽象方法: 在一些父类中,某些行为不是非常明确,因此无法用代码来具体实现,但是类必须具备此方法,因此把这样的方法定 ...