|
Objective-C是一種簡單的計算機(jī)語言,設(shè)計為可以支持真正的面向?qū)ο缶幊獭?a href=/itjie/Objective-Cjishu/ target=_blank class=infotextkey>Objective-C通過提供類定義,方法以及屬性的語法,還有其他可以提高類的動態(tài)擴(kuò)展能力的結(jié)構(gòu)等,擴(kuò)展了標(biāo)準(zhǔn)的ANSI C語言。類的語法和設(shè)計主要是基于Smalltalk,最早的面向?qū)ο缶幊陶Z言之一。
如果你以前使用過其他面向?qū)ο缶幊陶Z言,那么下面的信息可以幫助你學(xué)習(xí)Objective-C的基本語法。許多傳統(tǒng)的面向?qū)ο蟾拍睿绶庋b,繼承以及多態(tài),在Objective-C中都有所體現(xiàn)。這里有一些重要的不同,但是這些不同在這文章會表現(xiàn)出來,而且如果你需要還有更多詳細(xì)的信息存在。
如果你從來沒有使用任何編程語言編過程序,那么你至少需要在開始之前,對相關(guān)概念進(jìn)行一些基礎(chǔ)的了解。對象的使用和對象對象架構(gòu)是iPhone程序設(shè)計的基礎(chǔ),理解他們?nèi)绾谓换?chuàng)建你的程序非常重要。想了解面向?qū)ο蟾拍畹模垍⒖词褂?a href=/itjie/Objective-Cjishu/ target=_blank class=infotextkey>Objective-C進(jìn)行面向?qū)ο缶幊獭4送猓瑓⒖碈ocoa基礎(chǔ)指南可以獲得Cocoa中的面向?qū)ο笤O(shè)計模式的信息。
Objective-C: C的超集
Objective-C是ANSI版本C編程語言的超集,支持C的基本語法。在C代碼中,你定義頭文件和源代碼文件,從代碼實現(xiàn)細(xì)節(jié)分離公共聲明。Objective-C頭文件使用的文件名列在表1中。
表1 Objective-C代碼的文件擴(kuò)展名
擴(kuò)展名 | 內(nèi)容類型 |
.h | 頭文件。頭文件包含類,類型,函數(shù)和常數(shù)的聲明。 |
.m | 源代碼文件。這是典型的源代碼文件擴(kuò)展名,可以包含Objective-C和C代碼。 |
.mm | 源代碼文件。帶有這種擴(kuò)展名的源代碼文件,除了可以包含Objective-C和C代碼以外還可以包含C++代碼。僅在你的Objective-C代碼中確實需要使用C++類或者特性的時候才用這種擴(kuò)展名。 |
當(dāng)你需要在源代碼中包含頭文件的時候,你可以使用標(biāo)準(zhǔn)的#include編譯選項,但是Objective-C提供了更好的方法。#import選項和#include選項完全相同,只是它可以確保相同的文件只會被包含一次。Objective-C的例子和文檔都傾向于使用#import,你的代碼也應(yīng)該是這樣的。
字符串
作為C語言的超集,Objective-C支持C語言字符串方面的約定。也就是說,單個字符被單引號包括,字符串被雙引號包括。然而,大多數(shù)Objective-C通常不使用C語言風(fēng)格的字符串。反之,大多數(shù)框架把字符串傳遞給NSString對象。NSString類提供了字符串的類包裝,包含了所有你期望的優(yōu)點,包括對保存任意長度字符串的內(nèi)建內(nèi)存管理機(jī)制,支持Unicode,printf風(fēng)格的格式化工具,等等。因為這種字符串使用的非常頻繁,Objective-C提供了一個助記符可以方便地從常量值創(chuàng)建NSString對象。要使用這個助記符,你需要做的全部事情,是在普通的雙引號字符串前放置一個@符號,如下面的例子所示:
NSString* myString = @"My String/n";
NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
// 從一個C語言字符串創(chuàng)建Objective-C字符串
NSString* fromCString = [NSString stringWithCString:"A C string"
it知識庫:Objective-C入門,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。