Block:

一、

(1)

在需要传值的界面定义属性

// 点击collectionViewCell的回调
@property (nonatomic, copy) void(^DidcollectionClick)(NSIndexPath *indexPath);

在按钮或者手势 或者代理方法中 执行block

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
//这里执行block
self.DidcollectionClick(indexPath);
}

(2)

在接收界面 中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView.tag == ) {
ManageMoneyViewTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([ManageMoneyViewTableViewCell class])];
// 接收block 传过来的值
cell.DidcollectionClick = ^(NSIndexPath *indexPath) {
NSLog(@"%ld",(long)indexPath.row); };
cell.dataArray = self.bankListdataArray;
return cell;
}
if (tableView.tag == ) {
ManageMoneynewsTableViewCell *cell = [[ManageMoneynewsTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ManageMoneynewsTableViewCell"];
// cell.dataArray = self.dataArray;
return cell;
}
return nil;
}

通知:

一、接收通知的控制器 (监听通知)

- (void)viewDidLoad {// 注册一个通知监听 接收通知
NSNotificationCenter *notiCenter = [NSNotificationCenter defaultCenter];
[notiCenter addObserver:self selector:@selector(receiveNotification:) name:NotificManage object:nil];
}
// @selector(receiveNotification:)方法,监听到通知后 执行
- (void)receiveNotification:(NSNotification *)noti
{ // NSNotification 有三个属性,name, object, userInfo,其中最关键的object就是从第三个界面传来的数据。name就是通知事件的名字, userInfo是一个字典 也可以把数据通过字典传递过来(如果要传的数据多的时候)
NSLog(@"%@ === %@ === %@", noti.object, [noti.userInfo objectForKey:@"rowId"], noti.name); } - (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

二、发送通知

// 这段代码 发送通知
NSNotificationCenter *postCenter = [NSNotificationCenter defaultCenter];
// 发送通知. postNotificationName必须和接收通知的postNotificationName名一致, object就是要传的值。 UserInfo是一个字典, 如果要用的话,提前定义一个字典, 可以通过这个来实现多个参数的传值使用。
NSMutableDictionary *postDic = [NSMutableDictionary dictionary];
[postDic setValue:[NSString stringWithFormat:@"%ld",(long)indexPath.row] forKey:@"rowId"];
[postCenter postNotificationName:NotificManage object:@"成功" userInfo:postDic];

整理一下 通知传值 Block传值的更多相关文章

  1. iOS 页面间传值 之 单例传值 , block 传值

    ios 页面间传值有许多,前边已经分享过属性传值和代理传值,今天主要说一下单例传值和 block 传值 单例传值:单例模式一种常用的开发的模式,单例因为在整个程序中无论在何时初始化对象,获取到的都是同 ...

  2. 四大传值详解:属性传值,单例传值,代理传值,block传值

    一:属性传值 传值情景:从前一个页面向后一个页面传值 a.在后一个页面,根据传值类型和个数,写属性 b.在前一个页面, 为属性赋值 c.在后一个页面, 使用值 例如: 第一个视图: #import & ...

  3. 回传值(代理、通知、block)

    回传值问题,一直都是困扰初学者的问题,今写者 代理.通知.block 三者的回传值做了一个小小的总结, Main.storyboard 视图: 通过代码分别创建三个代表 代理.通知.block 的按钮 ...

  4. OS笔记047代理传值和block传值

    在两个不同的控制器之间传递数据,可以使用代理传值或者block传值. 例子是一个简单通讯录. 主界面如下: 添加联系人界面 查看/编辑联系人界面:默认是查看模式,点击编辑后进入编辑模式 编辑模式 数据 ...

  5. IOS笔记047-代理传值和block传值

    在两个不同的控制器之间传递数据,可以使用代理传值或者block传值. 例子是一个简单通讯录. 主界面如下: 添加联系人界面 查看/编辑联系人界面:默认是查看模式,点击编辑后进入编辑模式 编辑模式 数据 ...

  6. 界面通信之block传值

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

  7. 属性传值,协议传值,block传值,单例传值四种界面传值方式

    一.属性传值 对于属性传值而言,相对于其它的三种 方法来说,是最基础,最简单的一种 方法,但,属性传值 有很大的局限性,因为是适用于第一个界面向第二个界面传 值,第二个向第三个界面传值等等.N界面向N ...

  8. iOS Block传值

    上个月,针对block恶补了一下,以为自己全部掌握了,其实不尽然. 昨天项目中在下载的时候用到,自己竟然不知道该从何下手,惭愧~ 情景是这个样子的:我写了个下载类,阴老师在调用时,将参数(sid,UR ...

  9. 代理和 block 传值的使用

    // // ZYViewController.h // BlockTest // // Created by yejiong on 14/11/2. // Copyright © 2014年 zzz. ...

随机推荐

  1. kernel中对文件的读写【学习笔记】【原创】

    /*1. 头文件 */ #include <linux/init.h> #include <linux/module.h> #include <linux/modulep ...

  2. MySQL学习笔记(六)—— MySQL自连接

    有的时候我们需要对同一表中的数据进行多次检索,这个时候我们可以使用之前学习过的子查询,先查询出需要的数据,再进行一次检索. 例如:一张products表,有产品id,供应商id(vend_id),产品 ...

  3. CentOS软件管理之源代码以及RPM软件包管理

    在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 ...

  4. ios非UTF-8格式的网页解析

    网上有很多关于ios xml解析的方法,关于非UTF-8格式的网页解析也不少,我也试着看了好几个,但都没成功.今天无意中却弄好了,所以想和大家分享下.其实很简单,下面说下怎么得到非UTF-8格式的网页 ...

  5. BestCoder7 1001 Little Pony and Permutation(hdu 4985) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4985 题目意思:有 n 个数,对于第 i 个数给出 σ(i) 的值.求出互不相交的循环的个数,并输出每 ...

  6. codeforces C. Inna and Huge Candy Matrix 解题报告

    题目链接:http://codeforces.com/problemset/problem/400/C 题目意思:给出一个n行m列的矩阵,问经过 x 次clockwise,y 次 horizontal ...

  7. php之上传图片及传数据到mysql

    index.html <form action="php.php" method="post" enctype="multipart/form- ...

  8. spring配置数据库连接池

    1. jdbcConfig.properties文件中 jdbc.jdbcUrl=jdbc:mysql:///ssm-crudjdbc.driverClass=com.mysql.jdbc.Drive ...

  9. visualstudio2017 +EF+Mysql生成实体数据模型闪退

    VisualStudio2017+EF+MySql正常运转,费了不少劲,踏过不少坑 1.安装 Connector/NET 8.0.13 地址:https://dev.mysql.com/downloa ...

  10. Identity Server 4 原理和实战(完结)_建立Identity Server 4项目,Client Credentials 授权实例

    创建项目 dotnet new -i IdentityServer4.Templates 多出来的这些模板 adminUI用来测试,想要用再生产环境,需要交钱 结合core的 Identity来使用 ...