|
Objective-C是一種簡單的計算機語言,設計為可以支持真正的面向對象編程。Objective-C通過提供類定義,方法以及屬性的語法,還有其他可以提高類的動態擴展能力的結構等,擴展了標準的ANSI C語言。類的語法和設計主要是基于Smalltalk,最早的面向對象編程語言之一。
如果你以前使用過其他面向對象編程語言,那么下面的信息可以幫助你學習Objective-C的基本語法。許多傳統的面向對象概念,例如封裝,繼承以及多態,在Objective-C中都有所體現。這里有一些重要的不同,但是這些不同在這文章會表現出來,而且如果你需要還有更多詳細的信息存在。
如果你從來沒有使用任何編程語言編過程序,那么你至少需要在開始之前,對相關概念進行一些基礎的了解。對象的使用和對象對象架構是iPhone程序設計的基礎,理解他們如何交互對創建你的程序非常重要。想了解面向對象概念的,請參看使用Objective-C進行面向對象編程。此外,參看Cocoa基礎指南可以獲得Cocoa中的面向對象設計模式的信息。
Objective-C: C的超集
Objective-C是ANSI版本C編程語言的超集,支持C的基本語法。在C代碼中,你定義頭文件和源代碼文件,從代碼實現細節分離公共聲明。Objective-C頭文件使用的文件名列在表1中?! ?/p>
表1 Objective-C代碼的文件擴展名
擴展名 | 內容類型 |
.h | 頭文件。頭文件包含類,類型,函數和常數的聲明。 |
.m | 源代碼文件。這是典型的源代碼文件擴展名,可以包含Objective-C和C代碼。 |
.mm | 源代碼文件。帶有這種擴展名的源代碼文件,除了可以包含Objective-C和C代碼以外還可以包含C++代碼。僅在你的Objective-C代碼中確實需要使用C++類或者特性的時候才用這種擴展名。 |
當你需要在源代碼中包含頭文件的時候,你可以使用標準的#include編譯選項,但是Objective-C提供了更好的方法。#import選項和#include選項完全相同,只是它可以確保相同的文件只會被包含一次。Objective-C的例子和文檔都傾向于使用#import,你的代碼也應該是這樣的。
字符串
作為C語言的超集,Objective-C支持C語言字符串方面的約定。也就是說,單個字符被單引號包括,字符串被雙引號包括。然而,大多數Objective-C通常不使用C語言風格的字符串。反之,大多數框架把字符串傳遞給NSString對象。NSString類提供了字符串的類包裝,包含了所有你期望的優點,包括對保存任意長度字符串的內建內存管理機制,支持Unicode,printf風格的格式化工具,等等。因為這種字符串使用的非常頻繁,Objective-C提供了一個助記符可以方便地從常量值創建NSString對象。要使用這個助記符,你需要做的全部事情,是在普通的雙引號字符串前放置一個@符號,如下面的例子所示:
NSString* myString = @"My String/n";
NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1, @"String"];
// 從一個C語言字符串創建Objective-C字符串
NSString* fromCString = [NSString stringWithCString:"A C string"
it知識庫:Objective-C入門,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。