Block底层解析最近看了一些block的资料,并动手做了一些实践,摘录并添加了一些结论。什么是block?首先,看一个极简的block:int main(int argc, co...
说到block,相信大部分iOS开发者都会想到retain cycle或是__block修饰的变量。但是本文将忽略这些老生常谈的讨论,而是将重点放在美团iOS在实践中对block的...
·
前言Objective-C中的Blocks实在是太好用了,有了它,我们就可以将“代码块”封装起来,当成变量使用、传递,所以,在Objective-C中,iOS中,许多的回调是用Bl...
先来简单介绍一下BlockBlock是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,Block可以在任何时候执行。Block和函数的相似性:(1)...
青春还在,梦想要快
1.概念Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性闭包是一个能够访问其他函数内部变量的函数.2.基本的用法 每次写bl...
古之成大事者,不惟有超世之才,意必有坚韧不拔之志
本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》 了解了 block的实现,...
专注和简洁,这就是秘诀!
本系列博文总结自《Pro Multithreading and Memory Management for iOS and OS X with ARC》 在上一篇文章中,我们讲了很...
关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Github Block 是 Objective-C 中笔者最喜欢的...
iOS-Source-Code-Analyse 首发Follow: sunbohong· Github 深入理解Block之Block的类型当我在 2012 年刚刚开始从事 iOS...
这几天为了巩固知识,从 iOS 的各个知识点开始学习,希望自己对每一个知识理解的更加深入的了解。这次来分享一下 block 的学习笔记。block 简介block 被当做扩展特性而...
前言Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”。从那开始,Block就出现在iOS和Mac...
前言本文不会详细介绍Block(闭包)使用,网上也有很多详细的介绍。我们使用Block经常要注意循环引用问题,在很早以前我只用到了__weak并不知道__strong用的有啥意义存...
前言在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。目录1...
iOS开发工程师
在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,相比较代理,我个人认为反而要简单些,但是需要处理好细节问题,如Bl...
Never Quit !
Blocks are a non-standard extension added by Apple Inc. to Clang's implementations of the ...
IM系列文章IM系列文章分为下面这几篇:《IM 即时通讯技术在多应用场景下的技术实现,以及性能调优(iOS视角)》 《技术实现细节》 《有一种 Block 叫 Callback,有...
专业打酱油 / 试用达人 / 修理工
开年第一餐,__weak 关键字用于防止 block 造成循环引用,关于它的用法,以及误区,一起来品尝吧。关于 __weak__weak 关键字是伴随着 ARC 内存管理机制而来的...
品味开发之美
block 循环引用的例子先介绍一下这个 demo ( github 地址 ):有两个view,从第一个view可以点击buttonpush到第二个view中,并且我在第二个vie...
这几年函数式编程变得愈来愈火,Github上有很多Objective-C函数式编程的经典实现,譬如ReactiveCocoa、Mansory,将Block的特性发挥的淋漓尽致。之前...
iOS 工程师
记得刚接触循环引用的时候经常写这种逗比代码__weak UIViewController *weakSelf = self; 后来看开源库源码的时候发现了一种比较好的写法__wea...
问题最近遇到一个已经使用了weak-strong dance的block依旧强引用了self的情况,好在block没被VC持有只是延迟释放,但这里的关键是用了weak_self的b...
腾讯Bugly, 精神哥的鹅厂技事
上篇文章讲到了什么是isa指针以及KVO的底层实现,如果对KVO和isa指针不熟悉的需要先看看这篇文章。本篇文章主要是实现含有Block的KVO方法。先上代码 1、 KVO的简单实...
喜欢各种开发
上一篇文章iOS底层原理总结 - 探寻block的本质(一)中已经介绍过block的底层本质实现以及了解了变量的捕获,本文继续探寻block的本质。block对对象变量的捕获blo...
iOSDev&前端学徒&Java学徒 热爱生活...
bloks,procs和lambdas是什么?Coder Talk:Ruby中closures的示例。Plain old english:我们想要运行的代码分组方法。# Block...
作者 | 收纳箱,绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit0. 序言最近看到了一道Block的面试题,还蛮有意思的,来给大家分享一下。本文从一道Block面试题出发,层...
进击的程序猿
本文字数:2987字预计阅读时间:8分钟Block 题记:用最通俗的语言,描述最难懂的技术 ❝ 最近在学习和迁移Swift方面的代码,正好看到了闭包这部分,看完之后整个...
高效能研发团队