Asingers Blog

Life is struggle

Xcode 9 新变化

Beta

New 一个新工程跑起来看一下,最先看到的变化就是模拟器了。是的,没错,至少看起来更像是真的设备,而且也加入了物理按键。 并且支持同时开启多个模拟器,这个在开发调试中再方便不过了。同时还支持无限调试,但是需要iOS11,后期再续。想信Apple 也发现了这个问题,为什么换设备调试必须断开当前设备? Highlights of Xcode 9: 全新编辑。快速,基于结构的编辑器,可...

更优雅的方式在 AWS 上跑 Shadowsocks

外面的世界很精彩~

准备 Linux服务器 安装 Docker yum install -y docker并启动sudo service docker start 一键安装并启动 docker run -d --restart=always --name=ss-libev-port8388 -p 8388:54321 -e PASSWORD='123456' -e METHOD=aes-25...

Mac OS X 开启原生自带虚拟内存盘

加速 Xcode 编译速度

虚拟内存盘是通过软件将一部分内存(RAM)模拟为硬盘来使用的一种技术。 由于内存有高达数 GB 每秒的速度,模拟成硬盘在适当情景下使用,会极大的增强系统性能,并且起到保护硬盘和隐私的作用。 1、 打开 Dashbord,找到实用工具中的脚本编辑器。输入以下内容: (注意:可以按需设置) do shell script " if ! test -e /Volumes/\"Ramdis...

dispatch_group & semaphore

GCD

dispatch_group从名字上也知道他是一个组,他的用法就是把一组任务提交到队列中,然后可以监听这些任务. 常见的方法: dispatch_group_create创建一个调度任务组 dispatch_group_async 把一个任务异步提交到任务组里 dispatch_group_enter/dispatch_group_leave 这种方式用在不使用dispatc...

理解线程

GCD

含义 首先我们来理解 GCD 的含义: GCD全称是Grand Central Dispatch GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 再来理解 串并行,同异步: 串行队列同步...

知识点回顾

温故而知新

Runtime Q: objc在向一个对象发送消息时,发生了什么? A: 根据对象的 isa 指针找到类对象 id,在查询类对象里面的 methodLists 方法函数列表,如果没有在好到,在沿着 superClass ,寻找父类,再在父类 methodLists 方法列表里面查询,最终找到 SEL ,根据 id 和 SEL 确认 IMP(指针函数),在发送消息. Q: 什么时候会报u...