美文网首页
xCode里面的苹果开发者帮助离线文档

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

作者: 大功率台灯 | 来源:发表于2016-01-21 14:38 被阅读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看里面的文件呢.有点小惊讶.请原谅我的无知。

    相关文章

      网友评论

          本文标题:xCode里面的苹果开发者帮助离线文档

          本文链接:https://www.haomeiwen.com/subject/dkvlkttx.html