您好,登錄后才能下訂單哦!
Objective-C的簡歷
歷史背景
20世紀80年代初 Objective-C誕生
1988年 NeXT開發了Objective-C語言庫
1992年 GNU增加了NeXT公司的Objective-C的支持
1996年 蘋果收購NeXT,并更名為Cocoa
2004年 Mac OS X 以“NS”作為前綴
2007年 蘋果公司發布了Objective-C 2.0
經過多年的發展,Objective-C和Cocoa已演化成一個功能強大的工具集。
OC的特點:
兼容性 :是一種面向對象的C語言,可以有C和C++語句,可以調用C的函數,也可以通過C++對象訪問方法。
類 :定義類是基本能力,OC的類聲明和實現,包括接口部分和實現部分。
方法 :定義方法也是它的基本能力,OC中的方法是通過[]運算符進行調用,有時也稱作“消息發送”。
屬性 :是OC2.0提出的概念,替代對成員變量訪問的“讀取方法(getter)”和“設置方法(setter)”的手段
協議 :OC中來的協議類似于Java中接口或C++的純虛類,只有接口部分定義沒有實現部分
分類 :OC中的分類類似于繼承機制,通過分類能夠擴展父類的功能。
OC的缺點:
OC的最初版本并不支持垃圾回收
OC不包括命名空間機制
OC不支持運算符重載
OC不支持多繼承
故,OC不是一個完全面向對象語言
Objective-C源文件
在Mac OS X下使用XCode進行開發
Xcode通過.m擴展名表示文件使用的是OC代碼(可以嵌入C語言)
如果需要嵌入C++的代碼,則擴展名應為.mm。。
編寫Hello World
學習一種新的語言的第一步就是要輸出 Hello World。,使用XCode創建一個新的Mac OS的控制臺項目。
將main.m中的代碼更改為如下:
#import <Foundation/Foundation.h>
int main(int argc, const char *argv[])
{
NSLog(@”Hello World, Objective-C!”);
return 0;
}
import關鍵字:
OC使用import關鍵字來代替include關鍵字包含頭文件。
優點:import本身即可避免頭文件的重復包含。
其他方面和include一樣
Foundation框架:
Foundataion是Cocoa中的一個框架。
簡單理解框架就是庫,包含了一些列的頭文件、源文件、圖像文件、聲音文件等。
Apple公司將Cocoa、Carbon、QuickTime和OpenGL等技術作為框架提供。
Foundation框架處理的是用戶界面之下的層(layer)的特性,如數據結構、通信機制等。
包括了各種基本數據類型、集合、操作系統服務的類
包含了集中設計模式和機制,以便設計出更健壯和高效的Objective-C程序
NSLog函數:
NSLog是Foundation框架中提供的一個函數。
提供了日志形式的輸出,類似于C中的pringf
該輸出會自動加上日期等信息以及自動換行的
OC中的@:
表示后面是一個OC的對象
@“"用于描述一個OC字符串常量
OC字符串的類型是NSString,是Foundation框架中的一個類
在NSLog中使用%@輸出一個OC對象
其他基本元素說明
布爾類型:
布爾類型用于描述“真”、“假”, 類型為BOOL,其值可為 YES NO
typedef signed char BOOL;
#define YES (BOOL)1
#define NO (BOOL)0
OC對象指針類型:
void * 任意類型的指針
id OC的對象指針
instancetype 和id類似,用于構造方法的返回值類型
OC中的“空”:
NULL 對應普通指針變量的空地址
nil 表示OC對象指針的空地址
Nil 表示OC類對象指針的空地址
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。