原文链接,Event dispatch and DOM event flow。
本文讲述事件分发机制和事件在 DOM 树上的传播行为。Web 应用使用 dispatchEvent() 方法分发事件对象,事件对象遵循 DOM 事件流,在 DOM 树上传播。
原文链接,Event dispatch and DOM event flow。
本文讲述事件分发机制和事件在 DOM 树上的传播行为。Web 应用使用 dispatchEvent() 方法分发事件对象,事件对象遵循 DOM 事件流,在 DOM 树上传播。
在 CocoaPods 发布 Pod 的最后一步是执行 pod trunk push 命令,pod-trunk 首先会对你创建的 Pod 进行验证,验证通过才允许上传。
有时,希望在 Pod 验证失败的情况下也能够上传,关于这种做法是否合理 这里 有相关讨论。讨论中 @mxcl 给出了一种绕过发布前验证的方法,如下文所述。
pod 命令使用 Ruby 写成,使用解释型语言的好处是我们可以方便的修改命令的逻辑。只要找到目标代码,注释掉验证 Pod 的逻辑便能达到目的。
首先执行 gem env,如下变量给出了 Ruby 库安装的位置。
1 | - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.4.0 |
当前,pod trunk push 命令文件对于 Ruby 库根目录的相对位置是 gems/cocoapods-trunk-1.3.0/lib/pod/command/trunk/push.rb,只要注释掉如下一行代码即可。
1 | def run |
将内容显示到屏幕上,有许多方式可以实现。这个过程包含许多框架,依靠许多函数和方法的组合实现。本文讨论该过程的底层原理。当你需要考虑相关性能问题时,本文内容能够帮助挑选最优的 API。本文研究的对象是 iOS 系统,不过其中大部分内容也适用于 OS X。
在开发过程中有这么一种情况,某个特性开发的代码需要回滚,但是该特性的开发提交和所有即将上线的提交处于统一分支,此时需要将该特性相关的提交依次回滚。在回滚代码时希望满足两个要求,能够保留详细的回滚日志信息、只产生一次提交记录。
Pro Multithreading and Memory Management for iOS and OS X with ARC, Grand Central Dispatch, and Blocks 这本书篇幅不多,可分为如下3部分,共8个章节。
内存管理基础知识:第一章、Life Before Automatic Reference Counting;第二章、ARC Rules;第三章、ARC Implementation。
Block:第四章、Getting Started with Blocks;第五章、Blocks Implementation。
GCD:第六章、Grand Central Dispatch;第七章、GCD Basics;第八章、GCD Implementation。
本文为该本书的读书笔记,Block 相关的内容比较多,参考这篇文章。