##DAY8 界面通信
##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 界面通信的更多相关文章
- UI:UINavigationController、界面通信
IOS中实现对控制器的管理的控制器有:UINavigationController 和 UITableBarController 两个控制器.下面是主要学习前者. 参考 ⼀.UINavigationC ...
- iOSDay27之界面通信
1. 属性传值(前面的界面给后面传值) 第一步: 在 SecondViewController.h 文件里定义一个存放传过来值的变量 contents #import <UIKit/UIKit. ...
- iOS学习之界面通信
一.属性传值 在SecondViewController.h里 #import <UIKit/UIKit.h> @interface SecondViewController : UIVi ...
- UI基础:UINavigationController、界面通信
UINavigationControlle UINavigationController:导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个视图控制器.也称为多视图控制器. 导航控制器可以 ...
- 界面通信之block传值
block传值有两种方式 ⽅式⼀: 使⽤block属性实现回调传值 ⽅式⼆: 在⽅法中定义block实现回调传值 方式一比较便于理解而且常用,下面介绍方式一是如何传值的 使用block属性传值和代理传 ...
- 1 TCP/IP通信
重点参考长链接http://blog.csdn.net/fengyuzhengfan/article/details/38830115 http://blog.csdn.net/Jsagacity/a ...
- IOS开发官方文档随笔
马上着手开发IOS应用程序 创建第一个单视图应用 ###main 方法 int main(int argc, char * argv[]) { @autoreleasepool { return UI ...
- 【ASP.NET】UCenter实现多站点同步登录退出
利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCent ...
- Android按键添加和处理的方案
Android按键添加和处理的方案 版本号 说明 作者 日期 1.0 Android按键添加和处理的方案 Sky Wang 2013/06/18 需求:Android机器上有个W ...
随机推荐
- Storm csdn
blog.csdn.net/lonelytrooperblog.csdn.net/leytton http://my.oschina.net/apdplat/blog/308396
- poj2871
#include <stdio.h> #include <stdlib.h> //法一 int main() { ]; ,tmp; ) { scanf("%lf&qu ...
- struts2的初步认识!
struts2的jar包会完成一些工作,让你的数据和显示很好的联系在一起. 开始的时候,主要通过三个点来完成Struts2的工作 1,JAVA类 2,struts.x ...
- IHttpModule与IHttpHandler的区别整理
IHttpModule与IHttpHandler的区别整理1.先后次序.先IHttpModule,后IHttpHandler. 注:Module要看你响应了哪个事件,一些事件是在Handler之前运行 ...
- dataset 用法(2)
1.为DataTable添加列 (1)添加列 DataTable tbl = ds.Tables.Add("User"); DataColumn col =tbl.Columns ...
- SendMessage用法实例
转: http://blog.csdn.net/coolszy/article/details/5523700 SendMessage用法 windowsbuttonmenucommandlistc# ...
- prototype演变
setp1 var Person = function () {}; //构造器 var p = new Person(); setp1 演变: var Person = function () {} ...
- APP应用的发展趋势
PhoneGap 是什么 PhoneGap 是一个用基于HTML,CSS 和JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用iPhone,Android,Palm ...
- 【转】CoreData以及MagicalRecord (一)
先粗略的了解下CoreData中的一些核心概念 1. CoreData 的核心概念 先上两幅关键的概念图 (1)NSManagedObjectModel 托管对象模型(MOM)是描述应用程序的数据模型 ...
- MongoDB入门学习(一)—— 安装和启动
最近由于工作需要,开始学习MongoDB数据库了.第一篇博文就从这里开始吧,以此记录下学习中的点点滴滴,为自己加油呢! (一) MongoDB简介 网上搜搜了一下:(来源:http://www.run ...