Swift面試題系列二

5.AFNetworking實現(xiàn)原理

1堤如、提交GET請求和提交POST請求
a迹蛤、創(chuàng)建AFHTTPRequestOpeartionManger對象
b集歇、根據(jù)服務(wù)器內(nèi)容的不同,為AFHTTPRequestOpeartionManger對象指定不同的解析器览爵,該對象默認的解析器是JSON和Plist文件解析器。如果服務(wù)器的數(shù)據(jù)是XML格式則需要手動的更改解析器
c帘不、發(fā)送GET請求:用Manager對象調(diào)用GET:parameters:success:failure:方法即可掂摔,success代碼塊和failue代碼塊在網(wǎng)絡(luò)請求成功/失敗過后調(diào)用术羔。
d、success:參數(shù)指定了代碼塊中處理服務(wù)器響應(yīng)成功的正確數(shù)據(jù)乙漓,failue:參數(shù)指定了代碼塊中處理服務(wù)器響應(yīng)失敗的錯誤數(shù)據(jù)级历、

2、創(chuàng)建一個下載文件的任務(wù)
AFURLSessionManager創(chuàng)建并完善了一個NSURLSession的對象基于遵從NSURLSessionDelegate與NSURLSessionDataDelegate協(xié)議NSURLSessionConfigration對象叭披。

3鱼喉、創(chuàng)建一個上傳文件的任務(wù)

4、處理JSON或Plist響應(yīng)
IOS應(yīng)用在處理JSON和Plist響應(yīng)的時候可以十分輕便將其轉(zhuǎn)換成NSDictionary對象或者NSArray對像趋观,AFHTTPRequestOpeartionManager默認就可以處理JSON或Plist響應(yīng)扛禽,也就是說當我們response.MIMEType為appication/json、text/json,AFHTTPRequestOpeartionManager默認就可以處理皱坛,無需再次指定服務(wù)器響應(yīng)解析器编曼。

6.kvo和kvc的區(qū)別

KVC,即是指 NSKeyValueCoding剩辟,鍵值編碼掐场,一個非正式的 Protocol,是一種可以通過字符串的名字(key)來訪問類屬性的機制贩猎。
KVO,即是指 Key-Value Observing, 建立在 KVC 之上熊户,它能夠?qū)崿F(xiàn)一個對象的 key path 值變化的觀察監(jiān)聽。

7.幾種設(shè)置模式的區(qū)別:MVC吭服、工廠嚷堡、單例、代理艇棕、KVO

1.MVC
模型-視圖-控制器(MVC)設(shè)計模式蝌戒,MVC根據(jù)角色劃分類,涉及到三個角色:
Model:模型保存應(yīng)用程序的數(shù)據(jù)沼琉。
View:視圖是模型的可視化表示以及用戶交互的控件北苟。
Controller:控制器是一個協(xié)調(diào)所有工作的中介者。它訪問模型中的數(shù)據(jù)并在視圖中展示它們打瘪,同時它們還監(jiān)聽事件和操作數(shù)據(jù)友鼻。

2.單例設(shè)計模式
單例設(shè)計模式可以確保對于一個類只有一個實例(對象)存在傻昙,這個對象有一個全局的訪問點。通常采用懶加載的方式在第一次用到對象的時候才去創(chuàng)建它彩扔。

3.代理模式
委托代理就是把某個對象要做的事情委托給別的對象去做屋匕。那么別的隊對象就是這個對象的代理,代替他來打理要做的事情借杰。

4.工廠模式
工廠模式即實例化對象过吻,用工廠方法代替new操作,又被稱作虛構(gòu)造器蔗衡。它的好處就在于將工廠和產(chǎn)品之間的耦合降低纤虽,將具體產(chǎn)品的構(gòu)造過程放在了具體工廠類里面。一般當你在一個類不知掉它所必須創(chuàng)建的對象的類時或者一個類希望有它的子類決定所創(chuàng)建的對象時绞惦,都可以使用工廠方法逼纸。

5.KVO
key-Value Observing,它提供一種機制,當指定的對象的屬性被修改后济蝉,則對象就會接受到通知杰刽。每次制定的被觀察的對象的屬性被修改后,KVO自動通知相應(yīng)的觀察者王滤。

6.通知
Notification-NotificationCenter機制使用了操作系統(tǒng)的功能贺嫂。通過NotificationCenter可以讓對象之間進行通訊,這些對象相互間可以不認識雁乡。當你用一個并行的流來推送通知第喳,或者刷新數(shù)據(jù)庫,并希望在界面中能夠看到時踱稍,這非常有用曲饱。

8.類方法和實例方法的區(qū)別

1.類變量、方法:所謂的類變量(class variables)珠月、類方法(class methods),指的是用“static”修 飾符聲明的變量扩淀、方法。其地位與類等同啤挎。在內(nèi)存中只有一個地方存放驻谆。不會因?qū)嵗a(chǎn)生而變動。但其數(shù)值(value)卻可通過實例來變更侵浸。當系統(tǒng)在程序中第一次遇到一個類時,便會 拷貝一份所有的類變量(在內(nèi)存里旺韭。然后那些屬乎此類的實例便分享這些類變量。因此,你可以借著實 例來存取類變量和類方法,而不用將類實例化后才取用掏觉。
2、實例變量值漫、方法:實例方法指的 是那些并沒有用static修飾符的mathods澳腹。當你從一種類產(chǎn)生一個實例時,就等于創(chuàng)建了一個屬于此類類型的對象。而實例產(chǎn)生后,便擁有與類“同類型”但內(nèi)存地址不同的變量(除了類變量外),稱之為實例變量(instance variables)。每個實例各自擁有自己的變量,而系統(tǒng)就會為這些實例變量個別配置內(nèi)存酱塔。但實例方法 卻仍留在類里,并不會再復(fù)制到實例中沥邻。但你仍可以調(diào)用這些方法來令實例對象做些事。

或者
1.類方法只能訪問類的成員變量羊娃,不能訪問實例變量唐全;實例方法不僅可以訪問類的成員變量,也可以訪問實例變量蕊玷。
2.類方法只能調(diào)用類方法邮利,而實例方法可以調(diào)用類方法跟實例方法

9.繼承、擴展和分類的區(qū)別

類擴展與分類的區(qū)別:

1.分類是為原有類增加方法垃帅,能被繼承和外界使用延届,在OC中通過過增加一個category文件(一個.h文件一個.m文件)的方法使用,擴展原有類的方法贸诚,不能增加成員變量
2.擴展是為類增加私有的成員變量和方法聲明方庭。

分類和繼承的區(qū)別:

1.分類是對方法的擴展,不能添加成員變量酱固。繼承可以在原來父類的成員變量的基礎(chǔ)上械念,添加新的成員變量。
2.分類只能添加新的方法运悲,不能修改和刪除原來的方法订讼。繼承可以增加、修改和刪除方法扇苞。
3.分類不提倡對原有的方法進行重載欺殿。繼承可以通過使用super對原來方法進行重載。
4.分類可以被繼承鳖敷,如果一個父類中定義了類別脖苏,那么其子類中也會繼承此類別。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末定踱,一起剝皮案震驚了整個濱河市棍潘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌崖媚,老刑警劉巖亦歉,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異畅哑,居然都是意外死亡肴楷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門荠呐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赛蔫,“玉大人砂客,你說我怎么就攤上這事『腔郑” “怎么了鞠值?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渗钉。 經(jīng)常有香客問我彤恶,道長,這世上最難降的妖魔是什么鳄橘? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任声离,我火速辦了婚禮,結(jié)果婚禮上挥唠,老公的妹妹穿的比我還像新娘抵恋。我一直安慰自己,他們只是感情好宝磨,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布弧关。 她就那樣靜靜地躺著,像睡著了一般唤锉。 火紅的嫁衣襯著肌膚如雪世囊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天窿祥,我揣著相機與錄音株憾,去河邊找鬼。 笑死晒衩,一個胖子當著我的面吹牛嗤瞎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播听系,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼贝奇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了靠胜?” 一聲冷哼從身側(cè)響起掉瞳,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浪漠,沒想到半個月后陕习,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡址愿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年该镣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片必盖。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡拌牲,死狀恐怖俱饿,靈堂內(nèi)的尸體忽然破棺而出歌粥,到底是詐尸還是另有隱情塌忽,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布失驶,位于F島的核電站土居,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嬉探。R本人自食惡果不足惜擦耀,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涩堤。 院中可真熱鬧眷蜓,春花似錦、人聲如沸胎围。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽白魂。三九已至汽纤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間福荸,已是汗流浹背蕴坪。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留敬锐,地道東北人背传。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像台夺,于是被迫代替她去往敵國和親径玖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理谒养,服務(wù)發(fā)現(xiàn)挺狰,斷路器,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法买窟,類相關(guān)的語法丰泊,內(nèi)部類的語法,繼承相關(guān)的語法始绍,異常的語法瞳购,線程的語...
    子非魚_t_閱讀 31,665評論 18 399
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,166評論 30 470
  • 1.OC里用到集合類是什么? 基本類型為:NSArray亏推,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,379評論 0 3
  • 傻子我知道異地戀不容易 我也知道對于未來你有著太多的不確定 對于任何事 我從不輕易做決定 但是我認準了一條路 我就...
    難猜閱讀 193評論 0 1