《Xcode江湖录》读后感

碎语
近些日子闲来无事,恰逢苹果派发布watchOS 2也有很长一段时间了,于是便打算深入研究WatchKit框架,刚好那天路过书城,便想淘两本好书回家充充电,却发现市面上关于AppleWatch的书籍寥寥无几,有些书籍涉及到的内容也只是浅尝即止,起不到多大帮助,还是官方文档最详细,正打算离去,突然被书架上一本名为《Xcode江湖录》的书籍提起一丝兴趣,看发行日期也是最近才上架的,大概翻看了一下,书中并没有多少高深莫测的内容,但是作者编写的方式却很有趣,全书都在围绕Xcode这一开发工具展开讲解,之所以书名中带有“江湖录”三个字,正如作者所说他想以一种轻松愉悦的方式讲解Xcode这个开发工具,让读者在谈笑间掌握Xcode常见的一些使用方法以及初步了解部分高级功能。
其实本书在撰写上,对于武侠小说的运用,也只是在前言或者章节开头部分,正文部分还是以规规矩矩讲解知识点为主,并无任何武侠段子插入,也没有华丽的辞藻修饰,毕竟技术类的书籍还是多一些严谨为好。作者的良苦用心还是值得称赞的,他既不想让此书归入平淡无奇的工具书一类,又不愿忽略读者的感受,对于初学者来说,确实有一些书籍比较枯燥乏味,难以保持学习兴趣。我想作者的初衷也正是希望撰写一本知识点丰富让人读起来却又不乏味的书籍。
当然,书中关于Xcode工具的某些细节,还是介绍的非常详细的。很多使用技巧确实在工作中也比较常用,在此我将书中提及到的比较好的知识点罗列出来,供读者参考,谢谢。(原书中的内容会有引用标志)


先引入原文中一段开场白

 忆往初,谈笑中多少情仇恩怨;道不尽,生死间几许红尘缱绻(qianquan)。

世人常言,人在江湖,身不由己。但江湖之外何尝能体会到江湖中人的快乐?正有这样一位少年良辰,年方弱冠,便毅然决然地踏入了编程之路。年少之志,意气风发,欲挥斥方遒。试问哪位出入编程江湖之人的梦想或一生浪迹天涯,或成就一番功名,随后有朝一日其风流往事在某个小茶馆被小老儿这般人物评说。诸君可是这样认为的?初入江湖,首先就是要有一把趁手的兵器,恰逢苹果帮新推出了Swift这样一门简单,强大的内功心法,极大地降低了入门的难度,于是良辰便决心踏上修炼Xcode之路。经过一番打听,他来到了岚风谷......


1.Xcode界面初探

屏幕快照 2016-01-21 15.56.29.png

1.1导航器区域

1-1

上图(1-1)中最左侧的长方形区域为导航器区域,最上边依次分布着八个按钮,从左至右依次是项目导航器,符号导航器,搜索导航器,事件导航器,测试导航器,调试导航器,断点导航器还有日志导航器。
其中重点要提的是符号导航器,就是从左至右第二个按钮,它用于显示你的项目中或者说是你的代码中的类,对象,函数,变量以及属性等元素,这些元素统称为“符号”,如下图所示(1-2)。

1-2

当前符号导航器的显示方式为分层(Hierarchical),它会按照类的层级来显示符号,子类会被包含在父类中;另一种显示方式平坦(Flat)则是会将全部类显示出来,没有类的层级概念。符号导航器可以很好的帮助我们理清项目中代码之间的关联,当你到一家新的公司,接手了一个公司长期维护的项目,这个项目的代码量是非常庞大的,可能需要你一周甚至更长的时间才能够消化和理解之前的内容,这时你不妨先从符号导航器下手。(仅供参考)
符号导航器底部有三个过滤选项
1.第一个过滤按钮(正方形括起来的C)用来选择是只显示类和方法,还是显示全部类型的符号。默认情况是显示类和方法,如果选择显示全部类型的符号的话,符号导航器会按照类型来进行分组。如下图所示(1-3)

1-3

2.第二个过滤按钮(像一页纸被折了一个角)则是用以选择是否只显示本地项目中所定义的符号。取消选中后,符号导航器将会检索所有当前项目所导入的其他项目,框架中定义的符号,然后将会显示有多少是来自于本地项目,有多少来自于系统。(摘自原文)
3.第三个过滤按钮(正方形括起来的M)用来指定给定符号的成员(比如类的成员)是否显示。(摘自原文)
4.下表是符号类型的定义

符号 类型
C 类(class)
f 函数(Function)
Pr 协议(protocol)
U 联合成员(Union)
E 枚举(Enum)
T 类型定义(Typedef)
V 全局变量(Global Variable)
S 结构体(struct)
K 枚举成员或常量(Case)
M 方法(method)
P 属性(property)

总结

导航器区域就重点介绍一个符号导航器就行了,因为我觉得符号导航器需要我们多加使用和参考,其他导航器我们日常接触的比较多。比如默认的项目导航器,大家日常构建项目的时候,如果严格遵循MVC设计模式(抛开现在流行的MVVM模式),那么无非有两种构建方式。(小型项目适用,大型项目划分的更细)
1.主目录按照业务划分,次级目录按照模块划分。这样构建可以完全区分模型和视图控制器,但是维护相对麻烦,新入职的员工很有可能被逼疯,一个Group中塞满了模型,一个Group中塞满了controller。(原谅我自己就遇到过,真的是想哭,当初新手小白刚入职的时候真的是无从下手的赶脚)
2.主目录按照模块划分,次级目录按照业务划分。这样构建项目比较清晰,一个模块中所有东西都属于当前模块,维护比较简单,但也有一个小缺点就是当多个模块共用某些类或方法时,这些类不知道放到何处才能最大化的重用。
以上两种情况,符号导航器可以帮助我们更快的在入职新公司时接手项目。

今天先这样,关于《Xcode江湖录》这本书中其他比较好的知识点,日后我会不定期整理更新,也会在文中分享一些自己学习iOS开发以来阅读过的好书。供大家学习参考,谢谢大家!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容