XCode4.0之HelloWorld建立及說明

來源:互聯網
上載者:User
文章目錄
  • 代碼的解析
  • 什麼是架構?常用的架構介紹
  • @autoreleasepool{}
  •  NSLog和@字串
  • NS的由來
  • NSString的特點與使用

開啟XCode之後,我們開始建立我們的第一個控制台程式“HelloWorld”了,順便熟悉一下XCode的介面及使用。

首先選擇“Create a New Xcode project”,然後選擇“Open”按鈕;

左側選擇“Mac OS X”下面的“Application”,然後在右側選擇“Command Line Tool”(這表示我們要建立Mac作業系統下面的一個控制台應用程式),然後選擇右下角的“Next”按鈕;

輸入項目名稱、公司名稱及類別,注意類別要選擇“Foundation”,然後選擇“Next”按鈕;

然後選擇項目要儲存的檔案路徑(只需選擇項目存放在哪個檔案夾,項目自身的檔案夾會自行建立,不用再另行輸入),然後選擇“Create”按鈕;

當項目建立成功後,會看到項目的一個屬性設定介面,簡單的各個介面說明如下:

然後點擊“main.m”檔案,在右側會出現檔案內容,然後點擊左上方的“Run”按鈕,執行成功後,會在中間的下面出現一個輸出,如所示:

那麼到這裡就完成了第一個HelloWorld控制台應用程式,雖然我們沒有手動輸入代碼,但是在這個過程,我們初步瞭解了一下XCode開發環境的介面及使用,雖然很簡單很基礎,可是好歹也算初次使用了一把。

 

HelloWorld程式解析

在前面,我們利用XCode建立了第一個控制台程式“HelloWorld”,但是有一些地方還是只有一個大概的印象,但不瞭解,那麼這裡就再講解一下。

首先通過項目的檔案清單,我們可以發現,項目的代碼是存放在“main.m”檔案裡面,

代碼的解析

Xcode的.m副檔名表示檔案裡面含有objective-c代碼,它對應C裡面的.c結尾的檔案和C++裡面的.cpp檔案。

在代碼中,main和return(0)語句和C裡面的作用相當。但不同的是在程式的頭部出現的這句代碼:

“#import <Foundation/Foundation.h>”

但這句話的作用我們也不陌生,它的作用類似於

“#include <Foundation/Foundation.h>”

因為和C語言一樣,objective-c也使用標頭檔來包含元素宣告,包含結構體、符號常量、函數原型等。雖然在objective-c裡面也可以用#include來實現,但是#import可以保證標頭檔只包含一次,而不論這個命令在代碼中被出現了多少次。也就是說,它還可以等同於C裡面的#ifdef命令。

另外在objective-c,用“<>”表示我們用的是系統裡面的“Foundation”架構下面的Foundation.h,而""表示的是程式目錄。

 

什麼是架構?常用的架構介紹

架構是一種聚集在一個單元的組件集合,包含標頭檔、庫、映像、音效檔。蘋果公司裡面主要有Cocoa、Carbon、QuickTime和OpenGL等技術作為框架組提供。而Foundation和Application Kit則是同屬於Cocoa的一部分。

這裡不一一介紹了,後面有興趣深入開發的,可以後面自己瞭解並進行總結。

@autoreleasepool{}

在這裡,我理解為項目自動為我們建立一個記憶體回收的機制,我們在大括弧內編寫的代碼,若存在一些建立對象之類的使用的話,那麼出了這個大括弧,系統會為我們自動回收。這句話是在XCode3.2裡面不曾出現的。若我的理解有誤,大家可以指出來共同學習下。

 NSLog和@字串

通過運行結果,我們可以理解NSLog其實就是一種輸入函數,則語句向控制台輸出,等同於C語言裡面的printf()。雖然在objective-c也可以使用printf,但NSLong比其更加的方便,它添加了時間戳記、日期戳和自動換行('\n')等。

NSLog(@"youinput is %d", 5);

 

我們可以看到NSLog裡面的輸入內容,是@"Hello,World!","Hello,World!"則是要輸出到控制台的內容,那麼@符號是什嗎?它是objective-c在標準C語言基礎上添加的特性之一,@符號後面在加上雙引號的字串,表示引用的字串是作為Cocoa的NSString元素來處理。

那麼NSString是什嗎?和NSLog有什麼聯絡呢?

NS的由來

為什麼Cocoa的很多元素前面都有NS呢?“|NS”首碼,最早來自於一個NeXT Software公司的NextSTEP工具包,但已經被蘋果所收購。蘋果公司沒有改變這種“NS”首碼而保留至今。所以帶有NS首碼的元素,是屬於Cocoa的,因此大家的建立元素的時候,不要與此同名,產生混淆。

NSString的特點與使用

前面講解了NS的由來,那麼NSString排除前面的首碼,則是String,是一串字元,那麼NString有如下功能:告知其長度;將自身與其他字串比較;將自身轉換為整型值或者浮點值。(它讓我想起了MFC裡面的CString)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.