ios高級開發(fā)工程師面試題 ios開發(fā)工程師職位描述

iOS面試題:objc中向一個nil對象發(fā)送消息將會發(fā)生什么?

當OC的可變數(shù)組(NSMutableArray)添加 nil 對象時,首先會彈出警告 “Null passed to a callee that requires a non-null argument”,也就是說數(shù)組不能傳遞非空參數(shù)。

成都創(chuàng)新互聯(lián)主營江門網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),江門h5微信小程序定制開發(fā)搭建,江門網(wǎng)站營銷推廣歡迎江門等地區(qū)企業(yè)咨詢

_objc_msgForward是一個函數(shù)指針(和 IMP 類型一樣),用于消息轉(zhuǎn)發(fā)的:當向一個對象發(fā)送一條消息,但它并沒有實現(xiàn)的時候,_objc_msgForward會嘗試做消息轉(zhuǎn)發(fā)。

因為給nil對象發(fā)送消息不會有反應(yīng)哦??梢允褂胈_weak關(guān)鍵字聲明一個弱變量:強變量:通常在ARC中所有指針變量都是強變量。將對象引用obj_new賦值給obj_old會使obj_new對象自動保持,同時舊對象obj_old會在被賦值千被釋放。

第一種:新建一個相同類型的對象并指向它,這樣做 result 就會強引用 tempResult,當做返回數(shù)據(jù)返回之后會自動添加 autorelease 關(guān)鍵字,也就不會造成野指針異常。

iOS的事件分發(fā)機制是為了找到第一響應(yīng)者,事件的處理機制叫做響應(yīng)者鏈原理。 所有事件響應(yīng)的類都是 UIResponder 的子類,響應(yīng)者鏈是一個由不同對象組成的層次結(jié)構(gòu),其中的每個對象將依次獲得響應(yīng)事件消息的機會。

iOS面試題:說說響應(yīng)鏈

1、當事件發(fā)生的時候,響應(yīng)鏈首先被發(fā)送給第一個響應(yīng)者(往往是事件 發(fā)生的視圖,也就是用戶觸摸屏幕的地方)。事件將沿著響應(yīng)者鏈一 直向下傳遞,直到被接受并作出處理。

2、一個UIWindow對象在某一時刻只能有一個響應(yīng)者對象可以成為第一響應(yīng)者。 成為第一響應(yīng)者必須要canBecomeFirstResponder,才能becomeFirstResponder。

3、在UIKit中,UIApplication、UIView、UIViewController這幾個類都是直接繼承自UIResponder類。另外SpriteKit中的SKNode也是繼承自UIResponder類。

4、尋找到最佳響應(yīng)者后,事件就在響應(yīng)鏈中的傳遞及響應(yīng)了。

iOS面試題:講講iOS事件響應(yīng)鏈的原理

點擊一個UIView或產(chǎn)生一個觸摸事件A,這個觸摸事件A會被添加到由UIApplication管理的事件隊列中(即,首先接收到事件的是UIApplication)。

當事件發(fā)生的時候,響應(yīng)鏈首先被發(fā)送給第一個響應(yīng)者(往往是事件發(fā)生的視圖,也就是用戶觸摸屏幕的地方)。事件將沿著響應(yīng)者鏈一直向下傳遞,知道被接受并作出處理。

UIKit發(fā)送事件到父UIView對象,然后是窗口的根視圖(UIWindow)。在將事件定向到窗口之前,響應(yīng)器鏈從根視圖轉(zhuǎn)移到所屬的視圖控制器。

標題名稱:ios高級開發(fā)工程師面試題 ios開發(fā)工程師職位描述
網(wǎng)站URL:http://muchs.cn/article28/diishjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計、服務(wù)器托管、全網(wǎng)營銷推廣品牌網(wǎng)站制作、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計