#import "UserHeader.h" 

Story

上一篇我们已经试验了一番头文件的引用和编译时长的关系,但是好像和我们的实际项目没多大关系,或者关系不大?想想好像没人会一股脑地往 prefix header 里面塞一堆的头文件引用,不一定,这个得结合实际看结果。

基于之前的结论,一个普通的 header 被引用到 prefix header 里了之后,被引用的内容 就已经是 prefix header 的内容了。要想看到我们 Xcode 项目里面真实的 prefix header 长什么样子,还得从头展开。首先从目标 target 的 Build Setting - Prefix Header 设置中找到目标文件,然后逐行浏览,如果碰到一个 #import ,就立刻把该文件的内容提取出来,然后继续深度迭代….直到解析完 prefix header 文件中所有的行为止。想想好像挺无聊的,平时只是在 IDE 里面专注写代码,好像并没有想过这个问题。

Read More

#import <UIKit.h> 

Objective-C 在项目中离不开头文件,它是最基本的控制对象访问权限的直观形式,相当于给一个 Swift 类型定义最重要的访问权限。不能说不重要,一个类型的设计在被应用之前最重要的一步。以前也做过头文件相关的优化,原理和实践都是看起来很简单,但是还没有实实在在的测试过头文件的优化在一个大项目中的具体分量,尤其是 prefix header(预编译头文件)。

Prefix Header

A prefix header is a feature found in some C or C++ compilers used to ensure that a certain snippet of code is inserted at the beginning of every file.

Read More

TLDR

先立结论,目前我发现的最适合我的笔记软件是 nb。 说 nb 一个是笔记软件并不完全准确,它更应该算是一个笔记管理工具,它提供了一种面向程序员记笔记的管理方式。

史记

最初开始养成写笔记的习惯是在 Evernote 刚刚兴起的时候,那个时候并没有太多的选择,云同步是我印象中 Evernote 的一个主要优势,但是输入体验一直都很一般,甚至都达不到现在的平均水平。所以后来我切换到了 Alternote 使用了很长一段时间,它是一个基于 Evernote 存储的三方笔记软件,输入体验比 Evernote 好多了,单独创建两个属于自己的私人手写笔记本,然后授权同步到 Alternote,体验不要太好。直到后来 Markdown 兴起,技术类的笔记越来越多,富文本编辑器根本满足不了需求,也找不到一个满意的笔记软件来实现。技术类笔记的出发点其实是 code snippet,所以几经试用我选择了 SnippetsLab,这个软件我用了至少四年。它本身只是一个管理 code snippet 并且能够快速检索并复制的工具,从最开始的 objc 和 bash,到后来的 python 和 markdown,堆积下来的内容越来越多,内容也越来越不像是 snippet,它内置的 markdown 编辑器已经不能满足我“笔记本”级别的要求,只能又开始找替代品。

2020年什么笔记软件最火?google 能搜出来一大堆,还有各种软件推荐平台的测评。简单可以分成两类:面向学生党的,这个方向的需求要求知识点的链接和修改比较强,首选 OneNote;面向普通办公类的,这个方向的需求就比较花哨了,各种从模板派生出来的个人笔记,简直就是要从根源上做出一个自带云平台的 Office 套件,花里胡哨的表格,Task List,Board 等等概念层出不强。这些都不是我想要的。同时因为我刚刚从 SnippetsLab 里面迁移出来的笔记需要再在新的笔记软件中导入,所以我希望最好能在

Read More