2014
Jan
29

网页好读版

想要写一个 IOS App ,但是我没碰过 Objective-C 也没写过 Mac 的程式,今天第一次写 Objective-C ,什么都不会,那就来写个 「Hello World! 」吧。

万事起头难,接下来就开始 Objective-C 最难的第一步。

打开 Xcode

没错!! 我什么都不会,连 Xcode 都不知道什么, 「Xcode」是 Mac 专用的编辑器,可以用来写 IOS App,C 语言等等。

因为我是新手,只好先用内建的编辑器来写程式罗。

先去 「/Applications/Xcode」,点这个档案两下,就会自动开启 Xcode 罗,我们先选择建立一个新的 Project , 接下来你会看到很多选择,我相信,你跟我一样,不知道怎么选,我要先写一个简单的 Command Line Hello World! ,所以我选择 OS X - Applications - Command Line。

如图

选择 Project Option

选好之后,接著进入下一步选择 Project Option,输入你想要的 Project 名称,并选择 Type = Foundation ,再点下一步之后,Xcode 就会自动建立一些基本的档案。

如图

成功建立 Project 后,你就会看到 main.m 这个档案,这个档案是程式的入口点,里面有个主 function : main ,这个 function 跟 C 语言类似,程式会先执行 main function 。

Objective-C 基本的 Library

NSString

NSString 就是一个字串的意思,使用前要先分配记忆体空间给他。

alloc memory
  1. NSString *s = [[NSString alloc] init];
  2.  

@ 代表 NSString

在 Objective-C 中,如果你使用 @ 开头,代表后面接著内容是一个 NSString,如 @"Test String"

NSLog

NSLog 就是指在 Command Line 印出 debug 讯息,就像 C 语言的 print 的意思。

印出 debug 讯息
  1. NSLog(@" A message");
  2.  

为了以后 debug 方便,能够印出程式目前执行到那一行也是相当重要,简单的使用 __LINE__就能知道程式的行数。

印出程式目前执行的行数
  1. NSLog(@" Line Number: %d", __LINE__);
  2. //Line Number: 20

另外还有 __FILE__ 可以取得目前程式执行的档案名称

印出程式目前执行的档案名称
  1. NSLog(@" Line Number: %s", __FILE__)

我的 Hello World! 程式

学会了 string 与 log 之后,我们就能印出 Hello World! 罗,下面是 main.m 的程式,点击 menu 的 Product -> run 执行后,程式就会成功印出 Hello World! 了 。

main.m , Hello World!
  1. #import <Foundation/Foundation.h>
  2.  
  3. int main(int argc, const char * argv[])
  4. {
  5. NSString *newString;
  6. newString = [[NSString alloc] init];
  7. newString = @"Hello World!";
  8. NSLog(@"Hello World!");
  9. NSLog(@"%@", newString); // Second Hello World!
  10.  
  11. return 0;
  12. }
  13.  

网页好读版