首先要说说什么时候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容: Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务 ...
为了解决 Block 造成的循环引用,iOS 开发过程中常常使用 weakify 与 strongify 来解决这个问题。下面就来看下 weakify 与 strongify 的实现原理。 准备知识 宏参数 Arguments 的扩展 可变参数宏 宏定义中的重复副作用 宏定义里面为什么要加括号 Block对变量的引用 weakify 和 strongify 的实现原理就是宏展开,阅读上面的准备知识 ...
2022-03-20 16:03 0 710 推荐指数:
首先要说说什么时候使用weakSelf和strongSelf。 下面引用一篇博客《到底什么时候才需要在ObjC的Block中使用weakSelf/strongSelf》的内容: Objective C 的 Block 是一个很实用的语法,特别是与GCD结合使用,可以很方便地实现并发、异步任务 ...
项目中若同时集成 YYCategories 和 ReactiveCocoa,使用@weakify(self)和@strongify(self);将会报Ambiguous expansion of macro weakify和Ambiguous expansion of macro ...
概述: 最近在开发中遇到了一个刚好可以用AOP实现的例子,就顺便研究了AOP的实现原理,把学习到的东西进行一个总结。文章中用到的编程语言为kotlin,需要的可以在IDEA中直接转为java。 这篇文章将会按照如下目录展开: AOP简介 代码中实现举例 AOP实现 ...
Vue Router 路由实现原理 一、概念 通过改变 URL,在不重新请求页面的情况下,更新页面视图。 二、实现方式 更新视图但不重新请求页面,是前端路由原理的核心之一,目前在浏览器环境中这一功能的实现主要有2种方式 ...
同步方法和同步代码块的实现原理。 我们把前 3 篇有涉及到的 synchronized 方法全写在一起,如 ...
https://zhuanlan.zhihu.com/p/28501879 https://zhuanlan.zhihu.com/p/28587782 ①HashMap的工作原理 HashMap是基于哈希表的Map接口的非同步实现,Java最基本数据结构就是两种,一种是数组,一种是引用。所有 ...
一、MVC模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。 控制器(Controller)。负责转发请求,对请求进行处理。 视图(View)。界面设计人员进行图形界面的设计。 模型(Model)。程序员编写程序应有的功能(实现算法等),数据库 ...
setTimeout 实现原理, 机制 JS 执行机制说起 浏览器(或者说 JS 引擎)执行 JS 的机制是基于事件循环。 由于 JS 是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行。 为了避免因为某些长时间任务造成的无意义 ...