Asingers Blog

Life is struggle

Objective-C Runtime

学习笔记

引言 曾经觉得Objc特别方便上手,面对着 Cocoa 中大量 API,只知道简单的查文档和调用。还记得初学 Objective-C 时把[receiver message]当成简单的方法调用,而无视了“发送消息”这句话的深刻含义。其实[receiver message]会被编译器转化为: objc_msgSend(receiver, selector) 如果消息含有参数,则为: ...

Objective-C 消息发送与转发机制原理

学习笔记

消息发送和转发流程可以概括为:消息发送(Messaging)是 Runtime 通过 selector 快速查找 IMP 的过程,有了函数指针就可以执行对应的方法实现;消息转发(Message Forwarding)是在查找 IMP 失败后执行一系列转发流程的慢速通道,如果不作转发处理,则会打日志和抛出异常。 本文不讲述开发者在消息发送和转发流程中需要做的事,而是讲述原理。能够很好地阅读本...

使用AppleDoc生成文档

学习笔记

有几种安装方法,这里我推荐用Brew安装: Github地址 brew install appledoc 我们需要生成的是外部文档,比如一个html,所以只使用命令: cd 到工程所在目录,我以docTest为例 需要参数: // --output 输出目录 // --project-name // --project-company // --company-i...

Tips

持续整理

Xcode 选英文字体 defaults write -app Xcode NSFontPanelAttributes -string "1,0" 重启Xcode生效 Ruby源更换 gem sources -l 当前 gem sources --remove http://rubygems.org/ 删除 gem sources -a http://mirrors.us...

Mac下制作原版10.11安装盘

学习笔记

AppStore 下载安装 OS X EL Capitan 1.打开Mac系统中的磁盘工具 2.打开磁盘工具后格式化u盘,一个分区,GUID类型,u盘名称改为123 格式osx扩展日志式 3.打开终端,输入以下命令: sudo /Applications/Install\ OS\ X\ EL\ Capitan.app/Contents/Resources/createinstal...

CALayer Animation - Replicator Animation

学习笔记

先来看一下效果 首先添加一个100x200的黑色View _myView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 100)]; _myView.backgroundColor = [UIColor blackColor]; [self.view addSubview:_myView]; 添加Laye...