xCode里面的苹果开发者帮助离线文档

2016-01-21  本文已影响1438人  大功率台灯

(写在前面:不要转载,不要转载,不要转载...因为我不会写)

太久不写代码了,手,实在是痒!

其实呢,不写代码也行...可尼玛别让我一直写文档!

所以!必须要看看书才能隔靴搔痒!

有个iPad,怎么能不好好利用呢。那就用iPad看看DocSets吧。

现在貌似在app store上的DocSets工具没有免费的吧,反正我好久之前想找一个免费的DocSets阅读软件,但是都是收费的。

所以就折腾了一下,看看这个DocSets文件到底是个什么鬼玩意儿。

哎...老毛病又犯了...看到一点感兴趣的东西就被吸引过去了。

1.DocSets是什么.

墙的后面可以看下官网的解释:Dash官网上的DocSet规范

DocSets 显示内容之后,可以看到,三个玩意儿。

1.info.plist

主要包含一些当前这个DocSets的基本信息。

苹果的xCode离线文档,很明显要比常规的DocSets的info要多很多。大家xCode打开看一下大概也知道是个什么东东。

2.version.plist

和Info.plist差不多,略过

3.Resources文件夹

这里才是重点。

docSet.dsidx这里包含了内容的索引。

先看看官方的DocSet的dsidx文件的内部。

这样的。

就一数据库,够简单了吧。

name字段就是显示在Dash中的标题,type字段用于用于表明这一项的类型,而path字段就是对应的html文件路径。

但是,其实,不然...

苹果的东西哪里能让你们辣么简单的就看透,要不然还怎么做大哥大。

其实,苹果的离线文档的dsidx里面是这样的:

喏...

这里的索引很给力呀,慢慢看关系吧。

这里研究里面索引的关系,咱说说怎么读里面的内容。

在MacOS里面,可以建立sqlite3对象,用sqlite3_open_v2来获取这个数据库。接着可以用sqlite3_prepare_v2来之星SQL语句读取里面的表数据。

在iOS里面呢,可以使用core data来读取,怎么读取呢...这里有点小梗。这得说到另外一个文件:docSet.mom

用mom文件作NSManagedObjectModel对象来初始化一个NSPersistentStoreCoordinator对象,然后用NSPersistentStoreCoordinator对象调用addPersistentStoreWithType来读取数据。

不过呢,还没完...这里要自己做Root ,Tree,Node,才能做树形列表。

并且!还没完!

iOS8的DocSets 和 iOS的DocSets也不一样了!妈蛋的!

先工作了,iOS9的DocSets有什么不一样,我还没弄清楚。水平有限,暂时先这样了。

PS:TextWrangler竟然可以打开DocSets看里面的文件呢.有点小惊讶.请原谅我的无知。

上一篇下一篇

猜你喜欢

热点阅读