Block语法

定义Block

	//定义类型
typedef void (^ReceiveMessageBlock)(NSString *);
//申明变量
ReceiveMessageBlock theBlock;

使用Block

	//定义Block方法
theBlock = ^(NSString * theMessage){ NSString * showMessage = [NSString stringWithFormat:@"receive:%@", theMessage]; messageLabel.text = showMessage;
}]; //使用Block方法
theBlock(@"hehehe");

具体使用Block的方法请参照iOS开发——Block详解

通过Block来进行页面间的传值

A页面创建B页面,然后B页面调用A页面的方法

A页面

  • 创建B页面时设置B页面对A页面的调用Block
	[BView setHandler:^(TCPStatus theStatus){
if (theStatus == TCPSuccess) {
statusLabel.text = @"终于TM连接成功了";
}
else{
statusLabel.text = @"没连接上";
}
}];

B页面

  • 在B页面提供接口设置Block
- (void)setHandler:(ConnectStatusBlock)block
{
self.connectStatusBlock = block;
}
  • 在B页面使用A设置的Block
- (void)receiveMessage:(NSString *)theMessage
{
if (self.receiveMessageBlock) {
self.receiveMessageBlock(theMessage);
}
}

使用Block来进行页面间的传值的更多相关文章

  1. HTML5 Web存储 页面间进行传值

    在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可 ...

  2. B/S结构中页面间的传值

    常见的页面间的传值有session,cookie,application,server.transfer(),queryString,今天主要记录一下server.transfer()的用法. 从A页 ...

  3. JSP页面间的传值方法总结

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧.试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式.下面来一起看看详细的介绍: 1. URL 链接后追加参数 ? 1 ...

  4. 利用Swift之协议语法实现页面间的传值功能

    随着Swift 新开发语言的发布,又随着Xcode6.0.1的正式发布,利用swift编写iOS代码迫在眉睫,笔者在使用Objective-C开发近三年以来,对这种优雅的语法深感赞叹,下面我将对比式的 ...

  5. MVC 页面间的传值

    关于MVC页面之间的传值,有多种方式,下面,我们就Html.RenderAction 方式 和 Html.RenderPartial 方式 来给大家分享一下有什么不同. 一.Html.RenderAc ...

  6. jsp页面间的传值方法

    JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...

  7. vue项目各页面间的传值

    githut地址:https://github.com/liguoyong/vueobj1 一.父子之间主键传值:(主要是在父主件里的子主件传递参数,然后再子主件里用props接收) 例如Father ...

  8. laravel页面间的传值

    可以在前端页面元素上添加onclick事件  onclick='selectRaw(this)' js中写function selectRaw(obj){ var data=$(obj).attr(& ...

  9. mvc页面间的传值

    本文大致讲解mvc前后端的传值方式,包括control向view.view向control.以及action向action. 回顾 我们回顾下在ASP.NET WebForms中,页面之间最常用的传值 ...

随机推荐

  1. Peter Pan By: J. M. Barrie

    Audio book: (mp3+txt) http://www.booksshouldbefree.com/book/peter-pan-by-j-m-barrie

  2. RD / RMDIR Command

    Quote from: http://ss64.com/nt/rd.html RD Delete folder(s) Syntax RD pathname RD /S pathname RD /S / ...

  3. System V 消息队列

    3.1 概述 消息队列结构: struct msqid_ds { struct ipc_perm msg_perm; //权限结构 struct msg *msg_first; //队列中第一个消息 ...

  4. 解决UIScrollView 的点击事件

    目前有两种方法 第一种 通过 Category 扩展 UIScrollView 对象,添加触摸事件,(不建议,后续扩展不方便)代码如下 @implementation UIScrollView (Ex ...

  5. 用Session实现验证码

    新建一个 ashx 一般处理程序 如: YZM.ashx继承接口 IRequiresSessionState //在一般处理程序里面继承 HttpContext context 为请求上下文,包含此次 ...

  6. 分享自己动手弄的基于Rime的新世纪五笔输入法码表

    实验室新搞了一台iMac,没有支持新世纪的码表的中文输入法啊.搜索半天大家推荐用Rime(鼠须管)来挂接新世纪码表.不知道还有没有其它支持外挂码表的Mac版输入法,暂时只有搞这个了.看了一下别人已经做 ...

  7. sirius的学习笔记(3)

    毕业论文什么的终于搞完了,重拾我的python Creating the python skeleton project directory $ mkdir project $ cd project ...

  8. iOS - 沙盒机制

    iOS应用程序只能在为该程序创建的文件系统中读取文件,不可以去其他地方访问,此区域被称为沙盒.所有的非代码文件都要保存在此,例如图像,图标,声音,属性列表(plist文件),文本文件等.沙盒机制作为一 ...

  9. KEIL4.12中添加ULINK2的支持

    转载自:http://www.amobbs.com/thread-4767650-1-1.html 如果你用KEIL4.12,但却没有Ulink2下载器,只有早先用的Ulink下载器,那么你按照下面三 ...

  10. django入门教程(上)

    相信用过python的人都听过Django的大名,知道它是一个web框架,用来支持动态网站.网络应用程序以及网络服务的开发.那么为什么我们需要一个web框架,而不是直接用python来写web应用呢? ...