美文网首页
Block的一些用法

Block的一些用法

作者: 王韩峰 | 来源:发表于2017-02-23 16:20 被阅读13次

一、定义block
有返回值、有参数:返回类型 ^(blockName)(参数) = ^返回类型(参数列表){///代码 };
无返回值、有参数:void ^(blockName)(参数) = ^(参数列表){///代码 };
无返回值、无参数: void (^blockName)() = ^ { /// 代码实现; };
上面这么多,也记不住:
速记代码快:inlineBlock ,编译器会提示:(根据需要删减就好了);
二、block引用外部变量
在定义block时,如果使用了外部变量,block内部会默认对外部变量做一次copy;
默认情况下,不允许在block内部修改外部变量的值;
在外部变量声明时,使用__block修饰符,则可以在block内部修改外部变量的值;
三、数组的遍历&排序;
遍历:enumerateObjectsUsingBlock:
所有的参数都已经准备到位,可以直接使用
效率比for高,官方推荐使用;
举例:懒加载
enumerateObjectsUsingBlock遍历:
[tempArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL*_Nonnull stop) {
NSDictionary dict = (NSDictionary)obj; Heros hero = [HerosherosWithDict:dict];
[ArrMaddObject:hero];
}];
for—IN遍历:
for (NSDictionary
dict in tempArray) { Heros *heros = [HerosherosWithDict:dict]; [ArrM addObject:heros];
}

  排序:sortedArrayUsingComparator:

相关文章

  • Block的一些用法

    一、定义block有返回值、有参数:返回类型 ^(blockName)(参数) = ^返回类型(参数列表){//...

  • Swift之Block

    block用法

  • 初学block(二)

    我已经讲过了怎么声明block了.比如用typedef 调用 下面开始讲一些其他的用法 1.block作为参数使用...

  • Objective-C之Blocks(二)

    前言 在Objective-C之Blocks(一)中,说明了Block的一些用法和特性。其中讲到Block的三种特...

  • 关于Block

    1.Block基本用法: block声明返回值(^block变量名)(参数)void(^block)(); blo...

  • 白话block

    本文内容 什么是block? block的用途 block的用法 block在使用中遇到的问题 如何使用xcode...

  • ios block用法与分析

    一: block的基础用法 block声明: int(^blockDemon)(inta,intb) ,其中int...

  • Kotlin的run,let,apply,also,with的用

    run函数 用法一 定义:public inline fun(block:()->R):R=block() 功能:...

  • iOS开发-block的使用(上)

    引言:本文旨在介绍block的基本用法,怎么定义一个block,怎样使用block. block的声明与定义 首先...

  • block用法小结

    基本用法 作用block用来保存一段代码 block的标志: ^ block与函数block与函数很像1.可以保存...

网友评论

      本文标题:Block的一些用法

      本文链接:https://www.haomeiwen.com/subject/mtcmpttx.html