block学习笔记

??????????Block基本使用

block最基本的使用方式,创建 — 调用.

这里的block类型:void(^)()  —> 无返回值 无参数

三种创建block的方式,最常用的是方式三.

inlineBlock:快速生成block代码.

block作用:保存一段代码,并不是马上执行,需要手动调用

??Block使用场景(简单阐述)

定义cellItem模型,声明一个block属性

实现快速生成模型类方法

在目标控制器取出模型并初始化数据

当点击cell时,执行block中的代码

????????Block传值

代理,block都可以用来传值.

在viewController控制器中,点击屏幕时会触发该方法,此时使用的是block方法来包装代码传值,

不过,此时的block中并没有值,执行下一句,modal出控制器modalVc

在modal控制器中,点击事件触发,将block传给代理控制器,实现传值(逆传)

????Block内存管理[面试]

    1??. 内存管理[MRC]

2??. 内存管理[ARC]

????Block循环引用

     1??.简单演示

运行结果:打印为null,因为是弱引用,控制器会被销毁.

      2??.复杂演示

??Block变量传递

如果block访问外部局部变量没有被任何关键字修饰,都是值传递

block访问外部变量被__block,static修饰,指针传递

访问的全局变量,也是指针传递

??Block开发使用场景

Block开发使用场景(参数使用):

什么时候使用Block充当参数?

思想:封装一个功能,这个功能做什么事情由外界决定,

但是什么时候调用由内部决定,这时候就需要把Block充当参数去使用.

怎么去把block充当参数?实战

比如:封装一个计算器,怎么计算由外界决定,什么时候计算由内部决定

??编程思想:

链式编程思想:把方法调用通过点语法链接,可读性非常好
    // 实战:能看懂

// 实战:封装一个计算器,提供一个加法方法

返回一个block

时间: 2024-10-13 05:39:28

block学习笔记的相关文章

初探swift语言的学习笔记十(block)

作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号fengsh998来支持我,谢谢! 在前面一些学习中,原本把闭包给理解成了block尽管有很多相似之处,但block还是有他自己的独特之外.近日,在写oc/swift混合编码时,有时候需要swift回调oc,oc回调swift . 因此我把swift中的 block 常见的声明和写

黑马程序员-OC学习笔记之block

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9426    Accepted Submission(s): 4151 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做par

黑马程序员_ Objective-c 之block、protocol学习笔记

一):block学习总结 block :用来保存一段代码. 1.block 特点:  1> Block封装了一段代码,可以在任何时候执行   2> Block可以作为函数或者函数的返回值,而其本身又可以带输入参数或返回值  3> 苹果官方建议尽量多用block,在多线程.异步任务.集合遍历.集合排序.动画转场用的很多  4> Block可以在程序运行时凭空产生一个代码保存起来  2.block的标志:^  3.block跟函数很像 1> 可以保存代码  2> 有返回值 

[原创]java WEB学习笔记12:一个简单的serlet连接数据库实验

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

《CSS网站布局实录》学习笔记(三)

第三章 CSS网页布局与定位 3.1 div 几乎XHTML中的任何标签都可以用于浮动与定位,而div首当其冲.对于其他标签而言,往往有它自身存在的目的,而div元素存在的目的就是为了浮动与定位. 3.1.1 div是什么 div是XHTML中制定的.专门用于布局设计的容器对象.在传统表格式布局中,之所以能够进行页面的排版布局设计,完全依赖于表格对象table.如今,接触另一种布局方式--CSS布局.div正是这种布局方式的核心对象.仅从div的使用上说,做一个简单的布局只需要依赖两样东西:di

CSS学习笔记09 简单理解BFC

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>BFC</title> 6 <style type="text/css"> 7 .div1 {background-color: #FCE38A; width: 200px; height: 100px;}

Unix文件系统学习笔记之二: 文件描述符、inode和打开文件表

Unix文件系统学习笔记之二: 文件描述符.inode和打开文件表 系统盘上数据的布局 文件系统无非是关于数据在磁盘上的组织以及存储空间管理的,为此,首先需要知道磁盘上数据的总体布局方式.以Unix为例,最重要的一张表如下: Unix 进程管理中和用户文件.io 最相关的数据结构:usr 数据结构 The procstructure does not record information related to file access.  However the userstructure con

PHP学习笔记

今天稍微整理一下学习笔记,每次都有整理在index.php中,今天我主要学习了PHP的命名规则,常量和变量以及变量的赋值,得给程序员提一个我发现,我发现每天写150行代码,哪怕是最简单的最入门级别的代码,也会有新发现.希望火星情报局可以通过这个提案也给我们带来点欢乐. PHP中常量和变量以及基础的赋值方法,都还是比较简单,有点js基础的人很容易上手,纯属记忆内容,作为一个初学者必须多加练习,锻炼自己的新语言逻辑处理能力和判断能力.见得多了反应才能迅速,每次学习整理成一份自我的学习教材,隔断时间回

Sass学习笔记之入门篇

Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式表.以下是我的学习笔记. Sass安装环境 1.安装sass(mac) ①:Ruby安装 ②:安装sass sudo gem install sass 可以通过 sass -v检测是否完成安装   2.更新sass gem update sass 3.卸载(删除)sass gem uninstal