初见Objective-C & Xcode

在开始Android开发近两年之后,我拿起了Object-C的教程。是的,iOS也不太远了。

为什么不是Swift?先用OC熟悉下Xcode,顺便还能开发个MacOS上的小工具什么的嘛。另外XCode6和Yosemite还没正式版,不敢贸然升级。
先说说对OC的感觉。其实就是对C的感觉,这几天写OC让我想起了以前在学校学C的感觉,还有点怀念。之前有看到网友说其实OC中的面向对象思想,比Java要更纯粹。刚看了几天,我不敢口出狂言,说几个这几天感受到的细节

1. OC的开闭原则比Java更彻底。OC里面的接口和实现是完全分离并且是强制分离的:接口使用

@interface

声明,实现使用

@implementation

声明,而且是分别放到.h和.m文件中。

2. OC的语法更口语话,更像人。在OC之前我没有见过

[rectangle setWidth: width andHeight: height];

这样的写法,感觉就真的像和rectangle这个对象在交流,每个[]语句就是和对象说的一句话,非常自然。甚至当我看到这个多参函数的时候,居然忘了以前是用逗号分隔参数列表的。

3. OC很像是对C的包装。这是和C++对比的,我接触C++不多,但是觉得C++更像是C的生长。把感觉表达出来总是很生硬,也是我理解不深吧。C就像一个小朋友,C++就像小朋友变成帅哥时候的样子,帅但普通,OC就像是把小朋友打扮得像一个小王子,可能一身稚气,但是能想象到气质上的提升。感觉很微妙,甚至和IDE也有关系吧。

下面说说IDE吧。学C的时候用VC,Java用Eclipse,OC用Xcode。VC就不提了,那么古老。和Eclipse相比,对Xcode最大的感觉就是精致!毕竟都是苹果开发的,和MacOS浑然一体,打开Xcode,感觉整个Macbook就是IDE,包括硬件!

设计总是伴随着人文和心理的因素,Xcode左右板块和中间编辑器的配色是不同的,这样编码的时候很自然就把注意力放到了中间,而Eclipse总会给我杂乱的感觉,这一点Android Studio也没做到,虽然它的黑色主题我很喜欢。还有代码折叠区域hover时的高亮处理,移除断点时的烟雾。

说了这么多好像一直在夸Xcode,其实还是有一些不方便。首先就是Xcode没有代码自动格式化,这个实在很坑爹,在Eclipse中写代码其实不用太在意格式的问题,多个空格少个空格只要自动格式一下,马上变得规范整洁。在Xcode中就比较蛋疼了,因为不想离开键盘去碰鼠标,有的时候就把刚写好的一行删了重新写……这就引出了另一个问题,快捷键不够多,比如删除整行,复制整行,虽然网上有教程增加这些快捷键,但是博主略有洁癖,不想过多修改,暂时先适应一下吧。