什么是多读单写?多个线程同时读一个变量是不需要同步的,而多个线程同时写一个变量或一个线程写而其他线程读某个变量,是需要同步的,可以总结为:“多读不互斥,而读写和多写互斥”。
背景:服务端返回的是string类型的枚举,我们常用的int类型的枚举,Swift是直接支持string类型的枚举的,但是Objective-C中string类型的枚举不常用,因此记录一下。
LLDB 是一个有着 REPL 的特性和 C++ ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的步骤来操作程序的进展
背景在使用系统UIAlertView的时候会发现otherButtonTitles:后边可以传不定数的多个参数例如:
背景John Holdsworth 开发了一个支持 OC、Swift 以及 Swift 和 OC 混编项目的 UI热重载工具 Injection 可以动态地将 Swift 或 Objective-C 的代码在已运行的程序中执行,修改完UI直接com+s,不用重新编译运行就能看到UI效果。可以用来提高调试代码的速度。
Clang 插件制作步骤如下:下载 LLVM ,生成 Xcode 工程,并编译项目新增 Clang 插件,自定义插件开发,并编译出 dylibXcode 添加编译设置,接入插件
背景提升代码可读性Reformat 历史代码,一劳永逸的解决这个问题用工具约束代码规范,不影响原有开发流程的同时,减少 code review 中代码规范方面的噪音