iOS開發(fā)語(yǔ)言O(shè)bjective C —知識(shí)點(diǎn)總結(jié)(1)

C和OC對(duì)比

1.OC中主要開發(fā)在什么平臺(tái)上的應(yīng)用程序?

答:OC中新增關(guān)鍵字大部分是以@開頭

2.OC中新增加了那些數(shù)據(jù)類型?

答:Block類型?? 指針類型(Class, id類型)?? 空類型?? 特殊類型(SEL, nil)

3.面向?qū)ο筇匦允鞘裁?

答:繼承性,封裝性,多態(tài)性

4.import和#include有什么區(qū)別?

答:include是C語(yǔ)言的文件包含指令,不能防止文件重復(fù)導(dǎo)入和循環(huán)引用;

而import是OC中的文件包含指令, 能防止文件重復(fù)導(dǎo)入,不能防止循環(huán)引用。

5.printf和NSLog有什么區(qū)別?

答: NSLog會(huì)自動(dòng)換行,在輸出內(nèi)容時(shí)會(huì)附加一些系統(tǒng)信息;NSLog和printf接收的參數(shù)不一樣

6.Foundation有什么作用?

答:Foundation.h我們稱之為主頭文件, 主頭文件中又拷貝了該工具箱中所有工具的頭文件, 我們只需要導(dǎo)入主頭文件就可以使用該工具箱中所有的工具, 避免了每次使用都要導(dǎo)入一個(gè)對(duì)應(yīng)的頭文件

面向?qū)ο蠡靖拍?/b>

什么是面向?qū)ο?

答:對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。

面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別?

答:1>面向?qū)ο笫窍鄬?duì)面向過(guò)程而言

2>面向?qū)ο蠛兔嫦蜻^(guò)程都是一種思想

面向過(guò)程????????強(qiáng)調(diào)的是功能行為 關(guān)注的是解決問(wèn)題需要哪些步驟

面向?qū)ο????????將功能封裝進(jìn)對(duì)象,強(qiáng)調(diào)具備了功能的對(duì)象 關(guān)注的是解決問(wèn)題需要哪些對(duì)象

面向?qū)ο筇匦?/b>

面向?qū)ο笕筇匦允悄男?

答:繼承性,封裝性,多態(tài)性

什么是封裝?為什么要進(jìn)行封裝?封裝的好處?封裝的規(guī)范?

答:封裝: 屏蔽內(nèi)部實(shí)現(xiàn)的細(xì)節(jié), 僅僅對(duì)外提供共有的方法/接口

原因:一個(gè)類把自己的成員變量暴露給外部的時(shí)候,那么該類就失去對(duì)該成員變量的管理權(quán),別人可以任意的修改你的成員變量。?????????????????????????????????????????????????????????????????????????????????????????????????? 好處: 保證數(shù)據(jù)的安全性,將變化隔離

規(guī)范: 一般情況下不會(huì)對(duì)外直接暴露成員變量, 都會(huì)提供一些共有的方法進(jìn)行賦值

成員變量都需要封裝起來(lái)

類與對(duì)象

什么是對(duì)象?

答:對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。

什么是類?

答:具有相同特性(數(shù)據(jù)元素)和行為(功能)的對(duì)象的抽象就是類。因此,對(duì)象的抽象是類,類的具體化就是對(duì)象,也可以說(shuō)類的實(shí)例是對(duì)象,類實(shí)際上就是一種數(shù)據(jù)類型。

類由幾部分組成?

答: 類(Class) 一個(gè)類由3個(gè)部分構(gòu)成 1.類的名稱:類名 2.類的屬性:一組包含數(shù)據(jù)的屬性 3.類的方法:允許對(duì)屬性中包含的數(shù)據(jù)進(jìn)行操作的方法。

實(shí)例化對(duì)象調(diào)用哪個(gè)方法?實(shí)例化對(duì)象做了哪3件事?

答:實(shí)例化對(duì)象調(diào)用類方法new

1.給對(duì)象分配存儲(chǔ)空間

2.初始化類中的實(shí)力變量

3.返回對(duì)象內(nèi)存地址

類和對(duì)象的區(qū)別?

答:類是一個(gè)抽象的概念,它不存在與現(xiàn)實(shí)的時(shí)間/空間里,只是為所有的對(duì)象定義了抽象的屬性與行為。?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 對(duì)象是類的一個(gè)具體它是實(shí)實(shí)在在存在的東西。

類是一個(gè)靜態(tài)的概念,類本身不攜帶任何數(shù)據(jù);當(dāng)沒有為類創(chuàng)建對(duì)象時(shí),類本身不存在內(nèi)存空間。

對(duì)象是一個(gè)動(dòng)態(tài)的概念,每一個(gè)對(duì)象都存在著有別于其他對(duì)象的屬于自己的屬性和行為;

對(duì)象的屬性可以隨著自己的行為發(fā)生改變。

OC方法和C函數(shù)

OC方法和C函數(shù)的區(qū)別?

答: OC中的方法和C語(yǔ)言中的函數(shù)一樣, 都是用來(lái)保存一段特定功能的代碼

C語(yǔ)言中定義一個(gè)函數(shù), 分為聲明和實(shí)現(xiàn),寫在文件的任何位置(@interface 和 @end 之間除外)

OC中定義一個(gè)方法, 也分為聲明和實(shí)現(xiàn), 聲明寫在@interface中, 實(shí)現(xiàn)寫在@implementation ,可以沒有聲明只有實(shí)現(xiàn)????????????????????????????????????????????????????????????????????????????????????????????????????????? C語(yǔ)言的函數(shù)分為內(nèi)部函數(shù)和外部函數(shù),OC中的方法也分為類方法和對(duì)象方法

函數(shù)屬于整個(gè)文件;方法屬于某一個(gè)類,方法如果離開類就不行

函數(shù)可以直接調(diào)用, 方法必須用對(duì)象或者類來(lái)調(diào)用

類方法和對(duì)象方法的區(qū)別?

答:0). 對(duì)象方法以-開頭, 類方法以+開頭

1). 對(duì)象方法必須用對(duì)象調(diào)用,類方法必須用類來(lái)調(diào)用

2).對(duì)象方法中可以直接訪問(wèn)屬性(成員變量) ,類方法中不可以直接訪問(wèn)屬性(成員變量)

3). 類方法和對(duì)象方法可以進(jìn)行相互調(diào)用

geeter-setter方法

什么是setter/getter方法?setter/getter方法的書寫格式?

答:setter方法就是給成員變量賦值的方法

格式: (1) setter方法一定是對(duì)象方法

(2) 一定沒有返回值

(3) 一定以set開頭, 并且set后面跟上需要設(shè)置的成員變量的名稱去掉下劃線, 并且首字母大寫

(4) 一定有參數(shù), 參數(shù)類型一定和需要設(shè)置的成員變量的類型一致, 并且參數(shù)名稱就是成員變量的名稱去掉下劃線

getter方法就是獲取成員變量值的方法

格式: (1) getter方法一定是對(duì)象方法

(2)一定有返回值, 而且返回值一定和獲取的成員變量的類型一致

(3)方法名稱就是獲取的成員變量的名稱去掉下劃線

(4) 一定沒有參數(shù)

成員變量以下劃線開頭有什么好處?

答:1.用于區(qū)分局部變量/全局變量/形參;2.方便程序編碼, 提高編碼效率

什么是只讀屬性?什么是只寫屬性?可讀可寫的屬性?私有屬性?

答:一個(gè)屬性可以只有g(shù)etter方法, 沒有setter方法, 這種屬性稱之為只讀屬性。

一個(gè)屬性也可以只有setter方法, 沒有g(shù)etter方法, 這種屬性稱之為只寫屬性。

如果既有setter方法又有g(shù)etter方法, 那么這種屬性稱之為可讀可寫的屬性。

一個(gè)屬性也可以沒有g(shù)etter和setter, 這種屬性稱之為私有屬性。

點(diǎn)語(yǔ)法

什么是點(diǎn)語(yǔ)法?點(diǎn)語(yǔ)法的本質(zhì)?

答:如果給屬性提供了getter和setter方法, 那么訪問(wèn)屬性就又多了一種訪問(wèn)方式 , 點(diǎn)語(yǔ)法.

點(diǎn)語(yǔ)法的本質(zhì)是調(diào)用了一個(gè)類的setter和getter方法

如何使用點(diǎn)語(yǔ)法?

答: 點(diǎn)語(yǔ)法是一個(gè)編譯器的特性, 會(huì)在程序翻譯成二進(jìn)制的時(shí)候?qū)?語(yǔ)法自動(dòng)轉(zhuǎn)換為setter和getter方法???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 如果點(diǎn)語(yǔ)法在=號(hào)的左邊, 那么編譯器會(huì)自動(dòng)轉(zhuǎn)換為setter方法

如果點(diǎn)語(yǔ)法在=號(hào)的右邊, 或者沒有等號(hào), 那么編譯器就會(huì)自動(dòng)轉(zhuǎn)換為getter方法

點(diǎn)語(yǔ)法注意事項(xiàng)?

答:點(diǎn)語(yǔ)法一般用于給成員變量賦值, 如果不是給成員變量賦值一般情況下不建議使用, 但是也可以使用

self關(guān)鍵字super關(guān)鍵字

1.如何使用self?

如果self在對(duì)象方法中, 那么self就代表調(diào)用當(dāng)前對(duì)象方法的那個(gè)對(duì)象

如果self在類方法中, 那么self就代表調(diào)用當(dāng)前類方法的那個(gè)類

總結(jié):我們只用關(guān)注self在哪一個(gè)方法中 , 如果在類方法那么就代表當(dāng)前類, 如果在對(duì)象方法那么就代表”當(dāng)前調(diào)用該方法的對(duì)象”

self有哪些注意事項(xiàng)?

答: (1)self會(huì)自動(dòng)區(qū)分類方法和對(duì)象方法, 如果在類方法中使用self調(diào)用對(duì)象方法, 那么會(huì)直接報(bào)錯(cuò)

(2)不能在對(duì)象方法或者類方法中利用self調(diào)用當(dāng)前self所在的方法

self的有哪些使用場(chǎng)景?

答: 可以用于在對(duì)象方法之間進(jìn)行相互調(diào)用 可以用于在類方法之間進(jìn)行相互調(diào)用 可以用于區(qū)分成員變量和局部變量同名的情況

2.什么是super?

super是個(gè)編譯器的指令符號(hào),只是告訴編譯器在執(zhí)行的時(shí)候,去調(diào)誰(shuí)的方法.

怎么使用super?

答:super在類方法中, 一定會(huì)調(diào)用父類的類方法

super在對(duì)象方法中, 一定會(huì)調(diào)用父類的對(duì)象方法

可以利用super在任意方法中調(diào)用父類中的方法

super使用場(chǎng)景?

答:子類重寫父類的方法時(shí)想保留父類的一些行為

私有變量和私有方法

什么是私有變量?什么是私有方法?

私有變量:寫在@implementation中的成員變量, 默認(rèn)就是私有的成員變量, 在其它類中無(wú)法查看, 也無(wú)法訪問(wèn)?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 私有方法:在@implementation中定義,只能在本類中訪問(wèn)

繼承和復(fù)合

繼承:一般在創(chuàng)建一個(gè)新類的時(shí)候,通常需要根據(jù)它與現(xiàn)有類之間區(qū)別來(lái)定義。使用繼承可以定義具有父類所有功能的新類,并且新類可以擁有父類所有的屬性和行為,同時(shí)也可以定義自己專屬的屬性和行為,這就是類的繼承。OC語(yǔ)法只支持單根繼承,即一個(gè)類只能有一個(gè)父類。

復(fù)合:所謂的復(fù)合就是在一個(gè)對(duì)象當(dāng)中引用另一個(gè)對(duì)象的策略,一般被引用的對(duì)象是作為引用對(duì)象的一部分而存在,這樣對(duì)象的結(jié)構(gòu)更加靈活多變。例如:可以使用復(fù)用來(lái)實(shí)現(xiàn)一個(gè)汽車car模型的結(jié)構(gòu)定義,一輛汽車有一個(gè)引擎,同時(shí)對(duì)應(yīng)四個(gè)汽車輪胎。

什么叫方法重寫?重寫后是以什么順序調(diào)用方法的?

答:如果子類中有和父類中同名的方法, 那么我們稱之為方法重寫。

注意: 繼承中的方法調(diào)用順序, 如果自己有就調(diào)用自己的, 如果自己沒有就調(diào)用父類的

“方法的調(diào)用順序, 先自己再父類, 如果父類中沒有再爺爺類, 如果爺爺類再?zèng)]有就找爺爺?shù)陌职诸惾绻恢闭业絅SObject類都沒有找到, 那么就會(huì)報(bào)錯(cuò)。 注意:在繼承中方法可以重寫, 但是屬性(成員變量)不能重寫

方法重寫的使用場(chǎng)景?

答: 當(dāng)從父類繼承的某個(gè)方法不適合子類,可以在子類中重寫父類的這個(gè)方法。

什么是多態(tài)?程序中是怎么體現(xiàn)多態(tài)的?

答:多態(tài)就是某一類事物的多種形態(tài)

體現(xiàn):父類指針指向子類對(duì)象

多態(tài)的條件是什么?多態(tài)的優(yōu)點(diǎn)是什么?

答:條件:1)有繼承關(guān)系 2)子類重寫父類方法 3)父類指針指向子類對(duì)象

優(yōu)點(diǎn):提高了代碼的擴(kuò)展性,復(fù)用性

description方法

只要利用%@打印某個(gè)對(duì)象, 系統(tǒng)內(nèi)部默認(rèn)就會(huì)調(diào)用父類的description方法,description方法的默認(rèn)實(shí)現(xiàn)是返回類名和對(duì)象的內(nèi)存地址,這樣的話,使用NSLog輸出OC對(duì)象,意義就不是很大,因?yàn)槲覀儾⒉魂P(guān)心對(duì)象的內(nèi)存地址,比較關(guān)心的是對(duì)象內(nèi)部的一些成變量的值。因此,會(huì)經(jīng)常重寫description方法,覆蓋description方法的默認(rèn)實(shí)現(xiàn)

重寫description方法注意點(diǎn)?

答:如果在description方法中利用%@輸出self會(huì)造成死循環(huán)

建議: 在description方法中盡量不要使用self來(lái)獲取成員變量,因?yàn)槿绻憬?jīng)常在description方法中使用self, 可能一不小心就寫成了 %@, self:?????????????????????????????????????????????????????????????????????????????????? 1 - (NSString *)description {

2??? return [NSString stringWithFormat:@"%@", self];

3 }

這樣就會(huì)成為死循環(huán)

property和property修飾符

1.@porperty是一個(gè)編譯器指令,可以使用@porperty來(lái)代替getter/setter方法的聲明,也就是說(shuō)我們只需要寫上@porperty就不用寫getter/setter方法的聲明

2.使用property增強(qiáng)后,什么時(shí)候要重寫getter/setter方法?

答:使用property增強(qiáng),只會(huì)生成最簡(jiǎn)單的getter/setter方法的聲明和實(shí)現(xiàn), 并不會(huì)對(duì)傳入的數(shù)據(jù)進(jìn)行過(guò)濾;

如果想對(duì)傳入的數(shù)據(jù)進(jìn)行過(guò)濾, 那么我們就必須重寫getter/setter方法

3.重寫getter/setter方法有哪些注意點(diǎn)?

答:如果重寫了setter方法, 那么property就只會(huì)生成getter方法;

如果重寫了getter方法, 那么property就只會(huì)生成setter方法;

如果同時(shí)重寫了getter/setter方法, 那么property就不會(huì)自動(dòng)幫我們生成私有的成員變量

4.@property語(yǔ)法中readonly/readwrite,atomic/nonatomic的作用

其中參數(shù)主要分為三類

讀寫屬性: (readwrite/readonly)

setter語(yǔ)意:(assign/retain/copy)

原子性: (atomicity/nonatomic)

各參數(shù)意義如下:

readwrite:同時(shí)產(chǎn)生setter\getter方法

readonly:只產(chǎn)生簡(jiǎn)單的getter,沒有setter。

assign:默認(rèn)類型,setter方法直接賦值,而不進(jìn)行retain操作

retain:setter方法對(duì)參數(shù)進(jìn)行release舊值,再retain新值。

copy:setter方法進(jìn)行Copy操作,與retain一樣

atomic:原子性,系統(tǒng)默認(rèn)是atomic,性能低

nonatomic:非原子性,直接從內(nèi)存中取值,性能高;在iOS開發(fā)中99.99%都是寫nonatomic

5.property修飾符 有拿幾點(diǎn)需要注意的問(wèn)題?

答:1.相同類型的property修飾符不能同時(shí)使用

2.不同類型的property修飾符可以多個(gè)結(jié)合在一起使用, 多個(gè)之間用,號(hào)隔開

3.iOS開發(fā)中只要寫上property, 那么就立刻寫上nonatomic

靜態(tài)數(shù)據(jù)類型和動(dòng)態(tài)數(shù)據(jù)類型

靜態(tài)數(shù)據(jù)類型的特點(diǎn):

在編譯時(shí)就知道變量的類型,知道變量中有哪些屬性和方法,在編譯的時(shí)候就可以訪問(wèn)這些屬性和方法,并且如果是通過(guò)靜態(tài)數(shù)據(jù)類型定義變量, 如果訪問(wèn)了不屬于靜態(tài)數(shù)據(jù)類型的屬性和方法, 那么編譯器就會(huì)報(bào)錯(cuò)

動(dòng)態(tài)數(shù)據(jù)類型的特點(diǎn):

在編譯的時(shí)候編譯器并不知道變量的真實(shí)類型, 只有在運(yùn)行的時(shí)候才知道它的真實(shí)類型,并且如果通過(guò)動(dòng)態(tài)數(shù)據(jù)類型定義變量, 如果訪問(wèn)了不屬于動(dòng)態(tài)數(shù)據(jù)類型的屬性和方法, 編譯器不會(huì)報(bào)錯(cuò)

id和NSObject * 的區(qū)別?

答:NSObject *是一個(gè)靜態(tài)數(shù)據(jù)類型;id 是一個(gè)動(dòng)態(tài)數(shù)據(jù)類型;

動(dòng)態(tài)數(shù)據(jù)類型的應(yīng)用場(chǎng)景?

答:動(dòng)態(tài)類型主要用在多態(tài), 可以減少代碼量, 避免調(diào)用子類特有的方法需要強(qiáng)制類型轉(zhuǎn)換

動(dòng)態(tài)數(shù)據(jù)類型的弊端是什么?

答:由于動(dòng)態(tài)數(shù)據(jù)類型可以調(diào)用任意方法, 所以有可能調(diào)用到不屬于自己的方法, 而編譯時(shí)又不會(huì)報(bào)錯(cuò), 所以可能導(dǎo)致運(yùn)行時(shí)的錯(cuò)誤

判斷數(shù)據(jù)類型的有哪些方法?

答:為了避免動(dòng)態(tài)數(shù)據(jù)類型引發(fā)的運(yùn)行時(shí)的錯(cuò)誤, 一般情況下如果使用動(dòng)態(tài)數(shù)據(jù)類型保存一個(gè)對(duì)象, 在調(diào)用這個(gè)變量的方法之前會(huì)進(jìn)行一次判斷, 判斷當(dāng)前對(duì)象是否能夠調(diào)用這個(gè)方法

構(gòu)造方法

什么是構(gòu)造方法?

答:在OC中init開頭的方法, 我們稱之為構(gòu)造方法

構(gòu)造方法的用途?

答:用途: 用于初始化一個(gè)對(duì)象, 讓某個(gè)對(duì)象一創(chuàng)建出來(lái)就擁有某些屬性和值

如何實(shí)現(xiàn)構(gòu)造方法?

答:重寫init方法, 在init方法中初始化成員變量

如何重寫init方法?

答:重寫init方法必須按照蘋果規(guī)定的格式重寫, 如果不按照規(guī)定會(huì)引發(fā)一些未知的錯(cuò)誤

(1)必須先初始化父類, 再初始化子類

(2)必須判斷父類是否初始化成功, 只有父類初始化成功才能繼續(xù)初始化子類

(3)返回當(dāng)前對(duì)象的地址

什么是自定義構(gòu)造方法?為什么要自定義構(gòu)造方法?

答:(1)自定義構(gòu)造方法就是自定義一個(gè)init方法

(2)有時(shí)候我們需要在創(chuàng)建某個(gè)對(duì)象的時(shí)候,讓對(duì)象的某些屬性就具有值,這時(shí)候就需要傳入一些參數(shù)給對(duì)象的屬性,為了滿足這個(gè)需求,就需要自定義構(gòu)造方法

自定義構(gòu)造方法的格式?

答:(1)一定是對(duì)象方法

(2)一定返回id/instancetype

(3)方法名稱一定以init開頭

-(instancetype)initWithAge:(int)age andName(NSString*)name;

自定義構(gòu)造方法在繼承中有一個(gè)原則?

答:自己的事情自己做,屬于誰(shuí)的屬性就由誰(shuí)來(lái)進(jìn)行操作;

父類的屬性交給父類的方法來(lái)處理,子類的方法處理子類自己獨(dú)有的屬性

自定義構(gòu)造方法在子類,如何調(diào)用的父類構(gòu)造方法的?

答:子類在重寫自定構(gòu)造方法時(shí),一般使用super 調(diào)用父類的構(gòu)造方法,先讓父類將父類的屬性進(jìn)行初始化

instancetype和id區(qū)別

instancetype和id區(qū)別?

答:(1)id在編譯的時(shí)候不能判斷對(duì)象的真實(shí)類型;instancetype在編譯的時(shí)候可以判斷對(duì)象的真實(shí)類型???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (2) instancetype可以返回和方法所在類相同類型的對(duì)象,id只能返回未知類型的對(duì)象;

(3)id可以用來(lái)定義變量, 可以作為返回值, 可以作為形參;instancetype只能用于作為返回值

instancetype 應(yīng)用場(chǎng)景?

答:以后但凡自定義構(gòu)造方法, 返回值盡量使用instancetype, 不要使用id

類工廠方法

什么是類工廠方法?

答:用于快速創(chuàng)建對(duì)象的類方法, 我們稱之為類工廠方法

類工廠方法應(yīng)用場(chǎng)景

答:類工廠方法中主要用于給對(duì)象分配存儲(chǔ)空間和初始化這塊存儲(chǔ)空間

類工廠方法使用規(guī)范

規(guī)范:1.一定是類方法 “+”2. 方法名稱以類的名稱開頭, 首字母小寫 3.一定有返回值, 返回值是id/instancetype4.在類工廠方法實(shí)現(xiàn)中,調(diào)用本類的構(gòu)造方法,創(chuàng)建實(shí)例對(duì)象,并返回實(shí)例對(duì)象

自定義類工廠方法是蘋果的一個(gè)規(guī)范, 一般情況下, 我們會(huì)給一個(gè)類提供自定義構(gòu)造方法和自定義類工廠方法用于創(chuàng)建一個(gè)對(duì)象

類工廠方法在繼承中的注意點(diǎn)

答:以后但凡自定義類工廠方法, 在類工廠方法中創(chuàng)建對(duì)象一定要使用self來(lái)創(chuàng)建,一定不要使用類名來(lái)創(chuàng)建

SEL類型

SEL是什么類型?

答:SEL類型代表著方法的簽名,在類對(duì)象的方法列表中存儲(chǔ)著該簽名與方法代碼的對(duì)應(yīng)關(guān)系

SEL有什么作用?答:(1)SEL類型的第一個(gè)作用, 配合對(duì)象/類來(lái)檢查對(duì)象/類中有沒有實(shí)現(xiàn)某一個(gè)方法(2)SEL類型的第二個(gè)作用, 配合對(duì)象/類來(lái)調(diào)用某一個(gè)SEL方法(3)配合對(duì)象將SEL類型作為方法的形參

哪個(gè)方法是用來(lái)檢驗(yàn)對(duì)象是否實(shí)現(xiàn)了某個(gè)方法?

判斷實(shí)例是否實(shí)現(xiàn)某個(gè)對(duì)象方法:(BOOL)respondsToSelector: (SEL)selector

判斷類是否實(shí)現(xiàn)某個(gè)類方法:(BOOL)instancesRespondToSelector:(SEL)aSelector;

哪些方法是用來(lái)調(diào)用對(duì)象中SEL類型對(duì)應(yīng)的方法?

答:讓對(duì)象執(zhí)行某個(gè)方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容