刚刚开始学习Cocoa的话,尽量从Objective-C/Objective-C++ 开始。 尽量不要从GUI的程序入手,可以先从Command Line Utility开始写程序来了解Objective-C/Objective-C++。 通过写这样的程序也能过了解Foundation Frameworks。
在Xcode里面新建项目,选择Command Line Utility里的Foundation Tool即可。
试着写几个小程序之后……
你可能发现了,Objective-C语言的方法的名字好似句子填空。当你要使用一个方法,只要填上你 需要的值构成一个有意义的“句子”即可。这种给方法命名的方法来源于Smalltalk(一种由Xerox 公司开发的面向对象的系统),也是Objective-C语言一大特色,它可以大大增强代码的描述性。当创建自己的方法时,你也应当尽量按照这种方法命名,不仅可以提高代码的可读性,而且使你的程序便于维护。 使用超级方便:
比如
[speechSynth startSpeakingString:string]; //开始朗读字符串内容
[speechSynth stopSpeaking]; //停止朗读
开发时有很多现成的东西我们可以直接拿来。 编写Cocoa程序时基本你是靠两个架构(Frameworks)来完成的。 有一个刚刚提过的 Foundation Kit(基本工具),它提供了大部分与非GUI(图形界面)相关的服务。 另外一个是Application Kit(应用程序工具),用于GUI的各种对象。 在Xcode里面都有详细说明。
命名时应该注意的问题,尽量第一个字母小写,第二个单词首字母大写比如上面的speechsynth,应该写成speechSynth。 为什么? 因为你会发现SpeakText(<#SpeechChannel chan#>, <#const void * textBuf#>, <#unsigned long textBytes#>)、SpeechBusy()、SpeechSyncUPP等等方法都是首字母大写,你能保证你的记忆力好到不会让他们重名吗?
关于注释, // 单行 , /* 多行 */
关于 -(void)、+(void),在Objective-C语言中负号“-”写在实例方法(instance methood)的前头(与类方法(class methood)相反,我们在后面讨论这个问题)。“void”表示没有信息从这个对象的援引者那里返回。
善用NSLog , 在你写Foundation程序的时候它可以用来作为屏幕输出。 在写GUI程序时,它是让你找bug和程序状态的好帮手。 关于NSLog的一些用法:
正常输出文字– NSLog(@”KuKuFun.com 正在Alpha版本运行!”);
int输出– NSLog(@”访问KuKuFun的人已经突破%i 人!”, visitors );
double输出– NSLog(@”访问KuKuFun的人已经突破%d 人!”, [...]
Recent Comments