background image

由 C#转 Object-C 开发入门基础§

大部分有一点其他平台开发基础的初学者看到 XCode,第一感想是磨拳擦掌,

 

看到 Interface Builder 之后,第一感想是跃跃欲试,而看到 Objective-C 的
语法,第一感想就变成就望而却步了。好吧,我是在说我自己。

如果你和我一样,对苹果相关的开发:Mac OS X 或是 iPhone 有兴趣,但是
第一时间看到 Objective-C 就会头疼并伴有发烧症状的话,疗效比较好的快
速治疗方法是阅读本文。大概花二十分钟左右,而且绝不无聊的时间,你就会
对 Objective-C 有那么一点点了解,至少读读例子不会那么头疼了。
不过假定你要有那么一点点 c++、c#或是 java 的基础,至少能看到 c++、c#

 

或是 java 的源码,能够大致明白说得是什么。
这篇文章不是一篇科技文章,希望你也不要把它当做科技文章来读。文章非常
不严谨,但是我相信你能看得懂。

一、XCodeObjective-CCocoa 说的是几样东西?

答案:三样东西。
XCode:你可以把它看成是一个开发环境,就好像 Visual Studio 或者
Netbeans 或者 SharpDevelop 一样的玩意。你可以将 Interface Builder 认为
是 Visual Studio 中用来画界面的那部分功能单独提出来的程序。

Objective-C:这是一种语言,就好像 c++是一种语言,Java 是一种语言,
c#是一种语言,莺歌历史也是一种语言一样。

Cocoa:是一大堆函数库,就好像 MFC、.NET、Swing 这类玩意,人家已经写
好了一堆现成的东西,你只要知道怎么用就可以了。

有些人会比较容易混淆 Objective-C 和 Cocoa,就好像有些人会混淆 c#
和.NET 一样。这两个东西真的是两个不一样的东西。

二、Objective-C 是什么?

你可以把它认为是语法稍稍有点不一样的 c 语言。虽然第一眼望上去你可能会
认为它是火星语,和你所认知的任何一种语言都不一样。

先简单列出一点差别:

问题一:我在程序中看到大量的减号、中括号和 NS****这种东西,他们是什
么玩意儿?
减号(或者加号)
减号表示一个函数、或者方法、或者消息的开始,怎么说都行。

比如 c#中,一个方法的写法可能是:

private void hello(bool ishello)

{