Tsui YuenHong

人生苦短 所求却无边

不改一行代码,就极大提高对本地图片加载速度(对 Asset 的探讨)

2017年8月4日更新根据这个 Session Optimizing I/O for Performance and Battery Life 的描述,使用 Asset 还有对启动优化的好处。 如果你是被标题吸引进来的可以直接跳到最后看结论,接下来是对 Asset 为什么能加快对本地图片加载..


静态分析的一些总结

xxx is a garbage value 问题描述:这个错误一般是使用一个变量前可能没有赋值引起的。 解决方案:每次声明变量都要赋初始值(nil or 0 or 适当的值)。 1st argument .. is an uninitalized 问题描述:传参的参数可能是没被初始化..


iOS 实现弱引用数组的几种方法

源于一道面试题的总结,由于要观察引用计数,所以以下代码都是基于 MRC 的 (其中 ARC 的代码也在注释里面)。 利用 block注意 ARC 和 MRC 下的区别 // 方法 1 利用 blocktypedef id(^WeakRefBlock)(void);WeakRefBlock wea..


非越狱 QQ 逆向历险记

Long Long Ago小半年前,我曾写下越狱平台下的防QQ撤回的相关文章:逆向的尝试:让你的 QQ 不被撤回。前几天,阅读了杨萧玉大神的 Make WeChat Great Again。(⊙v⊙)嗯,突发奇想,好,那继续弄未越狱平台下的 QQ 的防撤回吧! 配置历险装备 iOSOpenDev..


block 循环引用终结者

block 循环引用的例子先介绍一下这个 demo ( github 地址 ):有两个 view,从第一个 view 可以点击 button push 到第二个 view 中,并且我在第二个 view 中的方法 - (void)viewWillDisappear:(BOOL)animated 和..


关于 dispatch_main_async_safe

最近在阅读 SDWebImage 的源码,发现了这段有趣的代码。 最新代码 #ifndef dispatch_main_async_safe#define dispatch_main_async_safe(block)\ if (strcmp(dispatch_queue_get_labe..


记录一次失败的“利用私有API开发过程”

因为一次一次地终结 APP 很麻烦(虽然 iOS 不用手动终结,但是看得不舒服),所以想开发一个一键终结所有 APP 的工具(之前越狱用习惯了)。 准备工作寻找有用的私有 API(github 地址),经过搜索和思考,发现了合适的方法。 BackBoardServices.framework 中..


① ReactiveSwift 官方文档翻译

以下内容翻译自 ReactiveSwift 官方文档中的 Basic Operators 部分 Basic Operators本文解释了RAC中一些最常用的操作,并包括演示其用法的示例。请注意到关于本文的“操作”指的是转换signals和signal producers的函数,并不是常用的s..