由 C#转 Object-C 开发入门基础
大部分有一点其他平台开发基础的初学者看到 XCode,第一感想是磨拳擦掌,看到 Interface Builder 之后,第一感想是跃跃欲试,而
看到 Objective-C 的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。
如果你和我一样,对苹果相关的开发:Mac OS X 或是 iPhone 有兴趣,但是第一时间看到 Objective-C 就会头疼并伴有发烧症状的话,
疗效比较好的快速治疗方法是阅读本文。大概花二十分钟左右,而且绝不无聊的时间,你就会对 Objective-C 有那么一点点了解,至少
读读例子不会那么头疼了。
不过假定你要有那么一点点 c++、c#或是 java 的基础,至少能看到 c++、c#或是 java 的源码,能够大致明白说得是什么。
这篇文章不是一篇科技文章,希望你也不要把它当做科技文章来读。文章非常不严谨,但是我相信你能看得懂。
一、XCode、Objective-C、Cocoa 说的是几样东西?
答案:三样东西。
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****这种东西,他们是什么玩意儿?
1 减号(或者加号)
减号表示一个函数、或者方法、或者消息的开始,怎么说都行。
比如 c#中,一个方法的写法可能是:
private void hello(bool ishello)
{
//OOXX
}
用 Objective-C 写出来就是
-(void) hello:(BOOL)ishello
{
//OOXX
}
挺好懂的吧?
不过在 Objective-C 里面没有 public 和 private 的概念,你可以认为全是 public。
评论3