奇怪的是,我主要抱怨的是项目文件的格式。我发誓,它设计就是为了引起合并冲突。我不知道是否UUID与各个条目、重复信息,或者每行多种信息相关。。。但我不记得最后一次我合并,而没有手动修复&*(&ing项目文件。
有趣的是,对项目经常性的崩溃有些本末倒置。修复项目最快的方法是恢复它,然后通过把对应的文件夹拖进项目中重建组,来修复包含源代码的组(这么做是有效果的,因为源码文件合并是正常的)。这个规律的重建操作保持你的组与文件系统同步,因此你的项目不会在像github一样的外部环境中看起来一团糟。多么“方便”啊。
我使用XCode的下一个问题是自动补全。它并不擅长这个。特别是当你在上面已经有了写了一半的代码,在你编辑时总是可以保证看到部分结果。这会诱使你认为基本的方法不存在,因为你正在盯着一个不包括它们的补全列表。XCode自动补全的另一个情况是当你使用点语法时明显不好:它基本没工作过。输入一个空格,你得到很多的结果,包括读取器,但对应输入一个点,你将可能看不到任何结果。令人沮丧。
我对XCode的最后一个抱怨,也是值得提一下的,是有限的重构功能。在重命名变量和一些其他东西时,会受限制,而且也没什么效果。这真的很慢(我见过花费几分钟的情况),另一半情况就是XCode崩溃。老实说,如果你想要做重构的话,你应该仅仅安装AppCode。要么用那个,要么习惯忍受find+replace。
总结Objective-C还行。它有很多很好的语法和好用的编辑器,但是(从一些喜欢静态类型人们的角度来说)类型系统留下了许多可以改进的地方。
至少,这是我个人的体会。