三部分

1,定义函数

/* 传出类定义block

*/

//定义block

typedef void (^ItemClickBlock)(NSInteger selectedIndex);

//block 做函数参数

+ (instancetype)navigationViewWithItems:( NSArray <NSString *> * )items itemClick:(ItemClickBlock)itemClick;

2,实现

#pragma mark - init block 做参数,实现方法, --

+ (instancetype)navigationViewWithItems:(NSArray<NSString *> *)items itemClick:(ItemClickBlock)itemClickBlock{

WSNavigationView *nav = [[WSNavigationView alloc] init];

nav.btns = [NSMutableArray arrayWithCapacity:items.count];

//

NSLog(@"  navigationViewWithItems 初始化 ----------- ");

nav.itemClickBlock = itemClickBlock;

nav.items = items;

////禁用滚动到最顶部的属性

nav.scrollsToTop = NO;

NSLog(@"-=====--------==---==== ");

return nav;

}

3,调用

//添加导航view

typeof(self) __weak weakObj= self;

//调用 block做参数,方法。  - 传入   意义在于:当点击时,传入信息到此。

WSNavigationView *view = [WSNavigationView navigationViewWithItems:nil itemClick:^(NSInteger selectedIndex) {

//实现

NSLog(@"2- WSContainerController init   实现  传入 点击 %lu ",  selectedIndex);

//传入 弱引用

//  [weakObj setSelectedIndex:selectedIndex];

[self setSelectedIndex:selectedIndex];

}];

//////////////////////////数据库使用

1,实现

-(void)LoadAllCityWithCompletion:(XNDLoadAreaModelCompletion)completion;

2,实现

-(void)LoadAllCityWithPid:(int)pid Completion:(XNDLoadAreaModelCompletion)completion{

[[[DBManager alloc]init] loadCityArrayAllWithPid:pid Completion:^(NSArray *messages, NSError *error) {

self.modelCityArry=[[NSMutableArray alloc]initWithArray: messages ];

completion(nil,nil);

}];

}

3.调用

//调用 block做参数的方法 传入

[[XNDAreaModule instance] LoadAllCityWithPid:pid Completion:^(NSArray *messages, NSError *error) {

if (isPosted==NO) {

[[NSNotificationCenter defaultCenter] postNotificationName:KNotifictionChangeArea object:@"1"];

}

}];

block 做参数的更多相关文章

  1. block之---应用场景:做参数和返回值

    1.做参数 什么时候使用Block充当参数? 封装一个功能,这个功能做什么事情由外界决定,但是什么时候调用由内部决定,这时候就需要把Block充当参数去使用. 模拟需求: 封装一个计算器,怎么计算由外 ...

  2. Swift 函数做参数和闭包做参数的一个细节差别

    函数作参数,示例为传入一个String和一个添加前缀的函数,返回一个添加完前缀的String: func demo(str:String,addPrefix:(String)->String)- ...

  3. 做参数可以读取参数 保存参数 用xml文件的方式

    做参数可以读取参数 保存参数 用xml文件的方式 好处:供不同用户保存适合自己使用的参数

  4. Java基础-继承 利用接口做参数,写个计算器,能完成+-*/运算

    38.利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 ...

  5. [转]数组引用:C++ 数组做参数 深入分析

    "数组引用"以避免"数组降阶"(本文曾贴于VCKBASE\C++论坛) 受[hpho]的一段模板函数的启发,特写此文,如有雷同,实在遗憾. 数组降阶是个讨厌的事 ...

  6. C++数组做参数

    首先,看一下下面这段代码: void changearr(int a[],int n){    cout<<sizeof(a)<<endl;         // 输出4}in ...

  7. C++ 中数组做参数的分析

    C++ 中数组做参数的分析 1.数组降价问题? "数组引用"以避免"数组降阶",数组降阶是个讨厌的事,这在C语言中是个无法解决的问题,先看一段代码,了解什么是& ...

  8. Block作为参数时的使用

    Block作为参数使用,常见于各框架之中,比如在封装一个类时,当做什么事情由外界去决定,什么时候调用由自己的类决定时,这时候就需要将block作为参数使用. 下面我们模仿AFNetworking的ma ...

  9. python 将中文转拼音后填充到url做参数并写入excel

    闲着没事写了个小工具,将中文转拼音后填充到url做参数并写如excel 一.先看下演示,是个什么东西 二.代码 代码用到一个中文转拼音的库,库是网上下的,稍微做了下修改,已经找不原来下载的地址了,然后 ...

随机推荐

  1. 快速生成apk 自动发布到网站 便于测试

    遇到的问题: 开发者生成的apk 需要不断给 测试安装让他们测试.有没有脚本自动将最新apk上传到服务器,让测试自己安装测试呢?mac电脑 怎么自己搭建文件服务器  启动Tomcat功能在这里不在赘述 ...

  2. ubuntu14.04下交叉编译器的安装

    今天打算换个工作环境,在ubuntu下装交叉编译器,可谓一波三折.最后总算是装好了. 首先参照一下这位仁兄的博客http://blog.csdn.net/silleyj/article/details ...

  3. freemarker的非空判断

    ${price} 判断非空写法就是 ${(price)!}

  4. Java程序员容易犯的10个错误

    1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个Ar ...

  5. linux之utime函数解析

    [lingyun@localhost utime]$ ls hello  utime.c  world [lingyun@localhost utime]$ cat utime.c  /******* ...

  6. Ubuntu runlevel修改

    安装Unbuntu 12.04. 据说Ubunut的一个UI相对友好的Linux版本,但我的需求是仅仅将其作为服务器使用,偶尔用用UI界面.所以我希望启动Ubuntu时,直接进入Shell命令行. 印 ...

  7. Check the quota usage

    stack@ubuntu1:~/Downloads$ nova absolute-limits +--------------------+------+-------+ | Name | Used ...

  8. django 执行原始SQL

    二.知识点总结 When the model query APIs don’t go far enough, you can fall back to writing raw SQL. go far ...

  9. java 中读取本地文件中字符

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  10. [Javascript] Introducing Reduce: Common Patterns

    Learn how two common array functions - map() and filter() - are syntactic sugar for reduce operation ...