我以自己项目中的一个模块为例,首先有两个页面,第一个页面为显示城市页面,第二个页面为选择要使用block传的值(城市名)。

第一个页面中的显示控件:

//自定义左部定位视图

self.locView = [[LocationView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH/2-35, 25)];

self.locView.imgView.image = [UIImage imageNamed:@"around"];

UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cityListView)];

[self.locView addGestureRecognizer:tapGes];

UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithCustomView:_locView];

self.navigationItem.leftBarButtonItem = leftButton;

第二个页面的选择页面:

首先要在.h文件中声明block代码块

typedef void(^ChangeCityBlock)(NSString *cityStr);

@interface CityListViewController : UIViewController{

ChangeCityBlock _sendBlock;

}

@property(nonatomic, copy) NSString *currentCity;

-(void)setSendBlock:(ChangeCityBlock)block;

-(ChangeCityBlock)sendBlock;

@end

到这里准备找工作已做好,下面是传值关键

当我们从第一个页面跳转至第二个页面时,我的代码如下,仅供参考:

//城市列表

-(void)cityListView{

CityListViewController *clVC = [[CityListViewController alloc] init];

[clVC setSendBlock:^(NSString *cityStr) {

_locView.cityLb.text = cityStr;

}];

clVC.currentCity = _locView.cityLb.text;

[self.navigationController pushViewController:clVC animated:YES];

}

接下来,要在第二个页面实现定义的block方法

-(void)setSendBlock:(ChangeCityBlock)block{

if (_sendBlock != block) {

_sendBlock = [block copy];

}

}

-(ChangeCityBlock)sendBlock{

return _sendBlock;

}

最后,当我们在第二个页面确定返回的值并返回第一个页面时,要触发一个方法,将要返回的值传入block代码中

-(void)blockReturnCity:(NSString *)city{

if (self.sendBlock) {

self.sendBlock(city);

}else{

NSLog(@"没有传入block");

}

[self goback];

}

以此即可将在第二个页面中确定的值传到第一个页面。

注:此次总结只是以为自己的iOS学习做备忘录为目的,在思路或是步骤顺序上若有混乱,请谅解!大家若有好的方法也请不吝赐教。

block 页面传值小结的更多相关文章

  1. iOS Block 页面传值

    为什么80%的码农都做不了架构师?>>>   直接上代码 1.定义block @interface TopTypeCollectionView : UIView @property ...

  2. 页面传值总结Block

    // AppDelegate.m // 页面传值总结 // // Created by qianfeng on 15/6/13. // Copyright (c) 2015年 qianfeng. Al ...

  3. iOS页面传值方式

    普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...

  4. ASP.NET MVC 5 Web编程5 -- 页面传值的方式

    本篇文章将讲述MVC的页面传值方式,具体包括:后端向前端传值(Controller向View传值):前端向后端传值(View向Controller传值):Action与Action之间的传值. 回顾 ...

  5. WebForm 页面传值

    一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象.如果你想传递一个安全性不是那么太重要或者是 ...

  6. Spring 向页面传值以及接受页面传过来的参数的方式

    来源于:http://www.cnblogs.com/liuhongfeng/p/4802013.html 一.从页面接收参数 Spring MVC接收请求提交的参数值的几种方法: 使用HttpSer ...

  7. ASP.NET页面传值不使用QueryString

    ASP.NET页面传值不使用QueryString   Asp.net中的页面传值方法: 1         Url传值 特点:主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址 ...

  8. artdialog4.1.7 中父页面给子页面传值

    artdialog4.1.7中父页面给子页面传值时看了一些网友的解决方法: 在父页面声明全局变量 var returnValue=“ ”,子页面用art.dialog.opener.returnVal ...

  9. webform页面传值和删除修改

    一.webform跨页面传值1.内置对象地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对 ...

随机推荐

  1. UI/UE/ID/UED/UCD的区别

    简述: UI (User Interface):用户界面 UE (User Experience):用户体验 ID (Interaction design):交互设计 UID (User Interf ...

  2. iOS 基础控件(下)

    上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...

  3. 我所理解的readonly和const

    最近要给学校软件小组新成员讲几次课,所以把很多以前懒得学习的和模糊不清的知识点,重新学习了一下. MSDN是这样解释的: readonly 关键字与 const 关键字不同. const 字段只能在该 ...

  4. CSRF 防御策略

    在业界目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段:在请求地址中添加 token 并验证:在 HTTP 头中自定义属性并验证.下面就分别对这三种策略进行详细介绍. 验证 ...

  5. java中实现同步的两种方式:syschronized和lock的区别和联系

    Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用synchronized 方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我 ...

  6. 基于TCP和多线程实现无线鼠标键盘-Socket(1)

    把手机作为移动鼠标.键盘使用非常方便,本文将实现这一功能.该应用分为两部分:Windows服务端和Android客户端. 本文源代码的下载地址:http://download.csdn.net/det ...

  7. [函数] Firemonkey 取得 Windows 目前 User 的 Desktop 目录

    下列方法仅提供 Windows 平台使用,所以需要使用编译开关,代码如下: uses {$IFDEF MSWINDOWS} Winapi.Windows, Winapi.SHFolder, {$END ...

  8. GNOME on Arch Linux

    Arch Linux上Gnome桌面截图欣赏: 相比而言,Debian的壁纸一直好像格调不够啊:

  9. Oracle to_char()函数的使用细则

    Oracle to_char()函数的使用细则,学习连接 http://www.cnblogs.com/reborter/archive/2008/11/28/1343195.html

  10. Data Structures/Algorithms 小甲鱼99讲笔记系列(1~~15讲)

    参考资料地址: http://www.icoolxue.com/ 1.数据结构中四种逻辑结构. ① 集合 集合中任何两个数据元素之间都没有逻辑关系,组织形式松散. ② 线性结构 线性结构中的 结点按逻 ...