Notes and thoughts from Tony

使用僵尸对象辅助调试

        前言 以前听过僵尸对象,原来只是觉得大概是内存没有被引用,但是依然没有被覆写的状态。 NSZombie Object Cocoa提供了“僵尸对象(NSZombie Object)”功能。启用这个功能之后,运行期系统会把所有已经回收的实例转化成为特殊的“僵尸对象”,而不会真正回收它们(大概...

Find Memory Leaks

        前言 这次项目升级,用到了instruments进行Memory Leaks的排查。因为效果很明显,特地整理下来。 instruments 为了能够充分发挥instruments的功能,特地把Apple的相关文档看了一遍,确认了Memory Leaks排查的方法。 To investi...

升级10.11后关于cocoapods xcode plugin

        瞎扯 把家里的MBPR升级了10.11,之前几款软件就不能用了,国内的软件版权保护工作的确做得不错,只好google关键字”XXX(软件名) crack”,重装这几款软件。 要命的是Xcode趁我不注意竟然自动升级到传说中坑爹的7.3,懒得退回。不过有几款插件貌似不好用,VVDocumen...

关于NSDictionary

        前言 聊得时候遇到这么个问题:实现上千对象的存储到字典(OC下就是NSDictionary)时,如果出现效率低下的问题,可能是什么原因?一脸懵逼啊,后来才知道重点在于NSDictionary的实现(hash算法及冲突的解决)。 hash算法及冲突的解决 NSDictionary(字典)是...

JSPatch

        前言 JSPatch用的越来越广泛。先记录下集成及使用的方式。由于公司没有提供专门的接口获取js脚本,而且也没有安全的访问方式,所以还是先试用JSPatch平台来实现吧。官方的文档写的很清楚,只记录遇到的坑。 集成 坑一: 我下载的时候提示是这个样子。 我还纳闷怎么没有压缩,于是...

Swift的单例模式

        单例对象可以我们使用一个类获取对象时,多次创建对象或者多次获取对象,得到的都是同一个对象。无论使用音频特效还是网络工具,我们都可以在我们的应用中使用统一的方式来获取单例资源或服务。 OC下的单例 OC中可以通过在 dispatch_once 函数的Block中调用初始化方法来实现单例。 ...

关于Swift的使用tips

        前言 今天被打击了。 凡事往前看。 回来继续混编。不要以为熟悉了OC和UIKit,看看Swift语法就可以无缝接入Swift开发,至少这个坑填了好一会。真正没有用过Swift的人,才会觉得Swift简单吧。相比OC语法更简练,同时吸收了多门流行语言的优点,可选绑定和 guard 的用法看的我...

升级Cocoapods 1.0的经历

        前言 Cocoapods是比较好用的第三方框架管理工具。唯一蛋疼的是速度update的时候速度太慢,当然是用离线模式(–no-repo-update)可以加快速度,但是真正需要更新的时候,真的就只能花半天时间喝茶聊天了。好消息是1.0的版本明显减少了update的时间,实在忍不住去升级。 ...

iOS项目中多target的配置

        背景 首先吐槽一下,最近公司接了几个功能相似的外包项目,整天累死累活真成了外包码农了。虽说奖金丰厚,但是这么着下去还真不是办法。 思路 功能相似,那就需要尽可能的多复用代码,目前考虑到的最理想的方案是基于multiple targets,就是利用多个target编译成不同的项目。这对于简...

Could not find Developer Disk Image

        前言 在调试iOS 9.3版本的时候遇到了Could not find Developer Disk Image问题。之前每次升级都会遇到这个问题,但是都没有整理,这次整理一下。 Could not find Developer Disk Image是由于真机系统过高或者过低,Xcode中...