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。

如圖
 Xcode 選擇程式類型

選擇 Project Option

選好之後,接著進入下一步選擇 Project Option,輸入你想要的 Project 名稱,並選擇 Type = Foundation ,再點下一步之後,Xcode 就會自動建立一些基本的檔案。

如圖
 Xcode  Foundation

成功建立 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.  

回應 (Leave a comment)