自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Objective-C面向?qū)ο蟪躞w驗(yàn)

移動(dòng)開發(fā) iOS
Objective-C面向?qū)ο蟪躞w驗(yàn)是本文要介紹的內(nèi)容,主要是來(lái)了解面向?qū)ο笳Z(yǔ)言O(shè)bjective-C,這里沒有細(xì)節(jié)的語(yǔ)法,大都是關(guān)于Objective-C面向?qū)ο蟾拍罾斫獾臇|西。

Objective-C面向?qū)ο?/strong>初體驗(yàn)是本文要介紹的內(nèi)容,主要是來(lái)了解面向?qū)ο?/strong>語(yǔ)言Objective-C,這里沒有細(xì)節(jié)的語(yǔ)法,大都是關(guān)于Objective-C面向?qū)ο?/strong>概念理解的東西,來(lái)看詳細(xì)內(nèi)容講解。

1、前言

語(yǔ)言其本質(zhì)上都是某種抽象,不管是現(xiàn)實(shí)生活中人們交流的語(yǔ)言,還是計(jì)算機(jī)語(yǔ)言.

2、對(duì)象

在Objective-C中,所有的對(duì)象都有一個(gè)共同的特征,就是每一個(gè)對(duì)象都包含一個(gè)isa指針.這個(gè)指針指向當(dāng)前對(duì)象所屬的類.

Objective-C面向?qū)ο蟪躞w驗(yàn)

Objective-C中存在一個(gè)名為id的類型,這個(gè)和上面所說(shuō)這個(gè)isa指針有一定的聯(lián)系.

C代碼 

  1. typedef struct objc_object {     
  2. Class isa;     
  3. } *id;    
  4. typedef struct Objective-C_object {  
  5. Class isa;  
  6. } *id;   

其中Class類型為指向objc_class結(jié)構(gòu)體的指針類型.

這些對(duì)象在內(nèi)存中都是由其地址唯一標(biāo)示,所有的對(duì)象都是id類型的.

我們繼續(xù)來(lái)將這個(gè)isa指針,通過(guò)isa指針我們可以在運(yùn)行的時(shí)候知道當(dāng)前對(duì)象是屬于什么Class的,

對(duì)象的內(nèi)存管理:

在Objective-C中,存在兩種內(nèi)存管理的方式

一種是基于引用技術(shù)的,在這種情況下,程序員需要時(shí)刻注意內(nèi)存的申請(qǐng)和釋放,以免發(fā)生內(nèi)存泄露.

還有一種是垃圾回收,學(xué)過(guò)Java的同學(xué)都知道java的垃圾回收,使得程序員從繁雜容易出錯(cuò)的內(nèi)存釋放工作中得到解放.

目前在Pihone的開發(fā)環(huán)境中不支持垃圾回收的方式.

3、消息

消息這個(gè)概念是比較特殊的,在其他的一般的計(jì)算機(jī)語(yǔ)言中都叫做方法調(diào)用或者函數(shù)調(diào)用,但在Objective-C中,很形象的叫做消息,在語(yǔ)法上也和別的語(yǔ)言的函數(shù)或者方法差別很大.

在我們現(xiàn)實(shí)生活中,人和人進(jìn)行溝通就是通過(guò)不同形式的消息進(jìn)行的,比如說(shuō)郵件,首先得有接受者,然后將消息內(nèi)容通過(guò)郵件發(fā)送給接受者.

如果將上面的情景用Objective-C的消息語(yǔ)法描述出來(lái)差不多是這樣的

[郵件接受者  郵件:郵件內(nèi)容]

我們將郵件接受者稱為receiver,郵件:郵件內(nèi)容的整體稱作message

  1. [Receiver message] 

如果將message再分解,我們可以寫成下面的

  1. [Receiver selector:argument] 

這種情景在別的語(yǔ)言中就是調(diào)用recevier這個(gè)對(duì)象的某個(gè)方法

這里的selector為方法名,他在消息發(fā)送的時(shí)候,會(huì)”選擇”一個(gè)方法的實(shí)現(xiàn)來(lái)運(yùn)行,所以這里的方法名被稱作為選擇器

而且這里的selector也是Objective-C實(shí)現(xiàn)多態(tài)的關(guān)鍵所在.

4、類

在Objective-C中,類只支持單繼承.

在程序運(yùn)行的時(shí)候,編譯器會(huì)自動(dòng)根據(jù)你的類定義生成一個(gè)”類對(duì)象”,這個(gè)”類對(duì)象”是類實(shí)例對(duì)象的原型,它知道如何去創(chuàng)建屬于這個(gè)類的實(shí)例對(duì)象.

實(shí)例對(duì)象擁有各自變量屬性,而方法都是共享的.

“類對(duì)象”的type都為Class,上面有提到過(guò)Class類型為指向objc_class結(jié)構(gòu)體的指針類型.

在Objective_C中NSObject類是一個(gè)根類。

小結(jié):Objective-C面向?qū)ο?/strong>初體驗(yàn)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2012-06-15 09:47:48

Objective-CCategory

2011-06-17 17:27:29

Objective-CCocoa蘋果

2011-08-04 11:04:14

Objective-C 面向?qū)ο? 繼承

2011-07-19 17:24:31

Objective-C 對(duì)象

2011-07-18 16:48:02

Cocoa Objective-

2011-08-17 11:05:22

Objective-C方法

2011-08-10 18:07:29

Objective-C反射

2013-03-27 12:54:00

iOS開發(fā)Objective-C

2011-05-11 11:20:26

Objective-C

2011-05-11 15:58:34

Objective-C

2013-06-20 10:40:32

Objective-C實(shí)現(xiàn)截圖

2011-08-04 13:32:21

Objective-C 方法 對(duì)象

2011-08-02 13:16:36

Objective-C 語(yǔ)法 函數(shù)

2011-08-04 14:58:37

Objective-C Cocoa NSString

2011-05-11 13:54:08

Objective-C

2011-05-11 15:45:50

內(nèi)存管理Objective-C

2013-08-21 14:57:42

objective-c問(wèn)題

2011-05-11 14:06:49

Objective-C

2011-08-04 11:15:46

Objective-C 構(gòu)造函數(shù) 構(gòu)造方法

2014-04-30 10:16:04

Objective-CiOS語(yǔ)法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)