如何优雅地编写 iOS 第三方库

iOS 经过八年多的发展,已经涌现出诸多优秀的第三方库,但怎样才算是优雅?总体来说,AFNetworking 就十分优雅,而 GPUImage 就只是可用,而不算优雅。编写优雅的第三方库,就像制作一件精美的艺术品一样,过程让人沉醉,结果令人赏心悦目。否则就是单纯的代码堆积与功能实现,过程像搬砖,完成后也没有成就感。下面就本人的一点经验,分享下如何优雅地封装第三方库。 命名 好的命名规则是一个成功的第三库的开始,然而现实中很许多人随性命名,导致沟通成本上升。事实上命名问题上,苹果有其官方统一的标准, »

UITextView 中显示富文本

UITextView 中可以通过 attributedText 属性来设置富文本,但 NSAttributedString 的使用不友好一直是一大诟病,如果能直接使用 HTML 就好了。事实上可以的,甚至可以加图片呢: NSString *str = @"<html><body>This is <font color='red'& »

Mac 下快速截屏

为了截屏功能打开 QQ?我相信有一大部分人是这么做的。事实上 Mac 上提供了十分便捷的截屏工具。 打开 系统偏好设置 => 键盘 => 快捷键 => 屏幕快照,可以看默认的快捷键设置: 按 Shift Command 3 快速截全屏,加 Control 可以将截屏保存到剪贴板,方便粘贴到 QQ 或 Office 等软件中。 按 »

运行时环境变量

Xcode 中按 Shift Command , 可以快速编辑项目的 Scheme(或者从 Project -> Scheme -> Edit Scheme 选择),在 Arguments 下可以添加运行时的环境变量: 添加环境变量是调试利器,如调试调试僵尸对象(已经释放的对象引起的 Crash)时使用的 NSZombieEnabled 环境变量,以及调试 CGContext »

Xcode 调试外部启动

当需要开发某些 App 功能时,如: APS 推送 H5 跳转 3D Touch 快捷菜单 SSO 单点登录 接收内容分享 我们都需要外部启动 App (区分于手动点击桌面上的图标启动),而 Xcode 默认在 Debug 运行时会自动启动,从而无法在 - (BOOL)application: »

IB 中使用对齐线

在 Interface Builder 中布置多个控件时,有时候我们需要依据 UI 设计按一定的边距对齐某一些元素,这种情况下要是有设计师在 Photoshop 中的对齐线就好了。而事实上 Xcode 已经为我们做了。 按 Command Shift - 在 IB 中添加一条水平线,按 Command Shift | 添加一条竖直线。删除对齐线也很简单,像在 »

在文件内快速定位到已知方法

相信大家已经知道,点击编辑器上方的导航栏的最后一项可以列出当前文件中的所有方法等,输入字符即可过滤搜索,如何快速激活这一功能呢? 如下图,按 Control 6 可以快速弹出方法列表,然后键入方法名可以马上过滤出来。 »