黑馬程式員--Objective-C之--OC的初步體驗

來源:互聯網
上載者:User

標籤:

一、OC簡介

 (一)、Objective-C與C的淵源

Objective-C誕生於 20 世紀 80 年代,由Brad Cox 發明,意在將流行的、可移植的 C 語言與優雅的 Smalltalk 語言結合在一起。

Objective-C 是 C 語言的一個擴充集,它以 C 語言為基礎,在語言中添加了一些微妙但意義重大的特性。

蘋果公司的 iphone 平台採用 Objective-C 做為 native language 的開發,Objective-C的核心是C語言的,並基於C語言實現OOP的一些特性。

Objective-C是對C語言的擴充,這和C++的前身 Better-c有很大的相似之處,Objective-C的新版本裡實現了和Java類似的記憶體回收機制,但基於iphone平台的資源限

制,iphone平台並不支援記憶體回收機制。

(二)、初識Objective-C 

  1、Cocoa的組成

蘋果公司將Cocoa、Carbon、QuickTime和OpenGL等技術作為框架組提供Cocoa組成部分有:

(1)、Foundation架構(有很多有用的,面向資料的低級類和資料結構);

(2)、Application Kit(也稱AppKit)架構(包含了所有的使用者介面對象和進階類,例如NS……),還有一個支援架構的套件,包括Core Animation和Core Image。

2、NSLog相當於C語言中的printf()

 

NSLog(@"hello Objective-C");//註:@是Objective-C在標準C語言基礎上添加的特徵之一,雙引號的字串前面有一個@,這表示引用的字串應該作為Cocoa的NSString元素處理 NSLog(@"are %d and %d different? %@",5,5,boolString(areTheyDifferent)); //注意%@:使用NSLog輸出任何對象值時,都會使用這個格式說明

 

 

 

3、BOOL使用8位儲存,YES定義為1,NO定義為0,大於1不為YES,跟標準C不同。

若不小心將一個長於1位元組的整型值賦給BOOL,則只截取低八位

 

二、Objective-C常見文法說明

(1)、標頭檔引用使用 #import “檔案名稱”或者 #import <檔案名稱>的形式以確保每個標頭檔僅被包含一次;

(2)、類聲明以 @interface 類名:繼承類 開頭,以 @end 結尾,類實現以@implementation 類名 開頭,以 @end 結尾;

(3)、執行個體方法,即成員方法,在方法名前面添加一個減號(-);類方法,在方法名前面添加一個加號(+);

(4)、類方法的調用格式為 [類名 類方法],成員方法調用格式為 [執行個體名 執行個體方法],這種模式在ObjC中被稱為訊息機制,[對象 訊息]即給對象發送了一個訊息,

產生的效果就是該對象調用了該類中定義的對應的執行個體方法。

(5)、關鍵字:關鍵字基本上都是以@開頭的,例如:@public、@private、@end 等

(6)、字串以@開頭

 

@"hello"    // 這一個是OC 的字串"hello"       // 這是是C語言的字串

 


(7)其他文法:

a、基礎資料型別 (Elementary Data Type):char 、int、float、double、BOOL(YES\NO)

b、nil:相當於C語言的NULL ,也就是0

c、基本語句:迴圈語句(do while 、while、for)、條件陳述式(if、if-else、switch)

d、注釋:// 和/*.......*/

 

三、OC開發過程(在終端上運行時)

1、編寫OC源檔案:.m、.c

2、編譯:cc -c xxx.m xxx.c

3、連結:cc xxx.o xxx.o -framework Foundation    (只有用到了Foundation架構才需要加上-framework Foundation)

4、運行:./a.out

整體的流程就是:.m(源檔案)————編譯————》 .o(目標檔案)——連結———》a.out(可執行檔)

 

四、OC 中#import的作用和主標頭檔

OC中,#import的作用跟C語言中的#include一樣,都是拷貝檔案的內容,不同的是:#import可以自動防止檔案的內容被重複拷貝。

主標頭檔就是最主要的標頭檔,名字一般跟架構名稱一樣,包含了架構中的所有其他標頭檔,如:Foundation架構的主標頭檔名稱就是Foundation.h,OC中只需要包含

Foundation架構主標頭檔,就可以使用Foundation這個架構中所聲明的所有成員變數、方法以及實現的所有方法。

 

五、OC中類的設計

1、類的結構:類名、屬性、行為

類是對所有對象相同屬性的概況。

(1)類名命名的規範:

第一點:類名的第一個字母必須是大寫

第二點:不能有底線

第三點:當出現多個英文單詞時,用駝峰標識(即每個單字首大寫)

(2)完整的寫一個類,必須包含類的聲明與類的實現

類的聲明:@interface 類名

                 @end

類的實現:@implemention 類名

                 @end

(3)聲明是用於:聲明對象的屬性、行為

  1>、OC中,成員變數的聲明必須寫在{}之內,方法(行為)的聲明必須寫在{}之外。

  2>、聲明成員變數時,不可以對成員變數進行賦值的操作,只能聲明。

  3>、聲明方法(行為)時要注意:只要是OC對象的方法,必須以減號 - 開頭,而且OC方法中任何資料類型都必須用小括弧()括住。

(4)類的使用的注意點

  1>、在OC中,想執行一些行為,就寫上一個中括弧[行為執行者 行為名稱]

  2>、利用類來建立對象

  3>、類的調用:[所建立的對象  對象方法]

黑馬程式員--Objective-C之--OC的初步體驗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.