祝化林的博客

吾日三省吾身.

Xcode 控制台输出中文

在 Xcode 控制台输出中文的方法

重写 NSArray、NSSet、NSDictionary 的输出方法,在Xcode实现中文(Unicode)字符在控制台的输出 原理 Xcode 控制台中在输出 NSArray、NSSet、NSDictionary 时,其中的中文字符会变成Unicode编码 如"\U67cf\U8367". 我们通过分类重写这些类的输出方法即可实现在控制台输出中文: - (NSString...

使用 .gitignore 忽略 Git 仓库中的文件

.gitignore 文件在Git中的使用

使用 .gitignore 文件忽略指定文件 .gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store文件,或者是Xocde的操作记录,又或者是pod库的中一大串的源代码。这种情况下使用.gitignore就能够在Git提交时自动忽略掉这些文件。 忽略的格式 # :...

Mac 文件的隐藏与显示

使用终端 显示/隐藏 文件

让 Finder 显示隐藏文件和文件夹 基本 显示 $ defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 隐藏 $ defaults write com.apple.finder AppleShowAllFiles -boolean false ; killal...

Git 代码回滚

回滚代码的正确姿势

并不适合阅读的个人文档。 git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。 reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认...

Mac 文本转音频

在Mac终端上将文本文件转换为音频文件

文本转语音 分享一条在Mac上将一个文本转换为音频文件的终端命令,个人认为还是蛮实用的。 来自: http://25.io/toau/ 指令: cat sample.txt | say -o sample.aiff

Git指令整理

不适合阅读的整理的一些个人常用的 Git 指令

随便整理的一些自用的Git指令 GitHub创建仓库提示代码 echo "# 项目名" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:qiubaiying/项目名.git git push -u orig...

Objective-C Runtime 基本使用

Runtime 使用案例

前言 在上一篇文章《Objective-C Runtime详解》中我们探讨了Runtime的基本原理,这篇文章我们将总结一下Runtime的一些基本使用 使用方法 查询方法 给分类添加属性 更换代码的实现方法 动态添加方法 字典转属性 准备 先创建两个类 ClassA.h #import <Foundation/Foundation.h&g...

Objective-C Runtime 详解

Runtime 详解

前言 最近在学习Runtime的知识,恰巧发现了这篇博客《Objective-C Runtime》,在此基础上,进行了些许补充说明,如有错误或其他想法,欢迎提出交流。 基础知识 引言 简介 与Runtime交互 RunTime术语 消息 动态方法解析 消息转发 健壮的实例变量 动态添加属性(Object-C Associated Objects...

BYPhoneNumTF

一个电话号码格式的文本框

BYPhoneNumTF 一个电话号码格式的文本框 功能 当在TextField输入数字时,会自动分隔为:137 9922 2299 或 137-9922-2299 限制文本输入个数 限制只能输入数字 效果: 实现方法 要实现电话号码格式的输入看似简单,但是实现起来坑非常多,至于坑是什么只有各位动手写了才能体会~ 下面我们来实现该功能: 首先要遵守协议<UI...

ReactiveCocoa 进阶

函数式编程框架 ReactiveCocoa 进阶

前言 在上篇文章中介绍了ReactiveCocoa的基础知识,接下来我们来深入介绍ReactiveCocoa及其在MVVM中的用法。 常见操作方法介绍 操作须知 所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,因此只要继承RACStream就有了操作处理方法。 操作思想 运用的是Hook(钩子)思想,Hook是一种用于...