面試題(4)

1,簡述你對UIView尾组、UIWindow和CALayer的理解

UIView繼承于UIResponder, UIResponder繼承于NSObject,UIView可以響應(yīng)用戶事件柬帕。CALayer繼承于NSObject垄分,所以CALayer不能響應(yīng)事件饲宛。UIView構(gòu)建界面,UIView側(cè)重于對內(nèi)容的管理就轧,CALayer側(cè)重于對內(nèi)容的繪制险掀。UIView是用來顯示內(nèi)容的沪袭,可以處理用戶事件;CALayer是用來繪制內(nèi)容的樟氢,對內(nèi)容進(jìn)行動畫處理冈绊,依賴與UIView來進(jìn)行顯示,不能處理用戶事件埠啃。

2死宣,寫一個(gè)完整的代理,包括聲明碴开,實(shí)現(xiàn)

3毅该,分析json、xml的區(qū)別潦牛?json眶掌、xml解析方式的底層是如何處理的?

XML是標(biāo)準(zhǔn)通用標(biāo)記語言 (SGML)的子集巴碗,非常適合 Web 傳輸朴爬。XML 提供統(tǒng)一的方法來描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。

JSON(JavaScriptObject Notation)一種輕量級的數(shù)據(jù)交換格式橡淆,具有良好的可讀

和便于快速編寫的特性召噩。可在不同平臺之間進(jìn)行數(shù)據(jù)交換逸爵。JSON采用兼容性很

高的具滴、完全獨(dú)立 于語言文本格式,同時(shí)也具備類似于C語言的習(xí)慣(包括C,

C++, C#, Java, JavaScript, Perl,Python等)體系的行為痊银。這些特性使JSON成為理想

的數(shù)據(jù)交換語言抵蚊。

4,ViewController 的 didReceiveMemoryWarning 是在什么時(shí)候被調(diào)用的溯革?默認(rèn)的操作是什么?

didReceiveMemoryWarning在出現(xiàn)內(nèi)存警告的時(shí)候執(zhí)行該方法,在該方法里面釋放掉暫時(shí)沒使用的可重用的對象谷醉。這個(gè)方法不能手動調(diào)用.

5致稀,面向?qū)ο蟮娜筇卣鳎⒆骱唵蔚慕榻B

封裝俱尼、繼承抖单、多態(tài)。封裝:是把客觀事物封裝成抽象的類,隱藏內(nèi)部的實(shí)現(xiàn)矛绘,對外部提供接口耍休。繼承:可以使用現(xiàn)有類的所有功能,并且在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展货矮。多態(tài):不同的對象以自己的方式響應(yīng)相同的的消息的能力叫做多態(tài)羊精,或者說父類指針指向子類對象<如UITableView的,cellForRow方法囚玫,返回值類型是UITbaleViewCell喧锦,但是你返回的cell可以是你自定義的cell,在比如多個(gè)類里面都有同一個(gè)方法>

6,重寫一個(gè)NSStrng類型的抓督,retain方式聲明name屬性的setter和getter方法

7燃少,簡述NotificationCenter、KVC铃在、KVO阵具、Delegate?并說明它們之間的區(qū)別定铜?

Notification:觀察者模式阳液,觀察者模式一般用于一對多, 發(fā)出消息者并不在意有沒有\(zhòng)有多少個(gè)接收者, 只管發(fā)出消息. 觀察者模式的效率低于代理模式. KVC鍵值編碼,可以直接通過字符串的名字(key)或者路徑來間接訪問屬性的機(jī)制宿稀,而不是通過調(diào)用getter和setter方法訪問趁舀。

KVO:觀測指定對象的屬性,當(dāng)指定對象屬性的setter方法被調(diào)用之后會通知相應(yīng)的觀察者祝沸。

delegate:一對一矮烹,delegate遵循某個(gè)協(xié)議并實(shí)現(xiàn)協(xié)議聲明的方法。

8罩锐,What is lazy loading?

懶加載奉狈,又稱為延遲加載。通常用法涩惑,你有一個(gè)UITextField類 型的property仁期,簡單定義為userNameTextField,但是你不在初始化方法里為其alloc/init竭恬,它就只是一個(gè)指針跛蛋,不會占用內(nèi) 存。在訪問器里判斷此property的指針是否為空痊硕,若為空赊级,就alloc/init,這時(shí)才真正生成這個(gè)對象除非這個(gè)對象被使用岔绸,否則它永遠(yuǎn)不會真正 生成理逊,也就不會占用內(nèi)存橡伞。

9,什么是Protocol晋被?什么是代理兑徘?寫一個(gè)委托的interface?委托的property聲明用什么屬性羡洛?為什么挂脑?

協(xié)議提供了一組方法,但是并不負(fù)責(zé)實(shí)現(xiàn)翘县,如果一個(gè)類遵循了某個(gè)協(xié)議最域,并且實(shí)現(xiàn)了協(xié)議里面的方法,那么我們稱這個(gè)類就是遵循了某個(gè)協(xié)議的代理锈麸。屬性的聲明使用assign镀脂,防止出現(xiàn)循環(huán)引用的問題。

10忘伞,分別描述類別(categories)和延展(extensions)是什么薄翅?以及兩者的區(qū)別?繼承和類別在實(shí)現(xiàn)中有何區(qū)別氓奈?為什么Category只能為對象添加方法翘魄,卻不能添加成員變量?

category類目:在不知道源碼的情況下為一個(gè)類擴(kuò)展方法舀奶,extension:為一個(gè)類聲明私有方法和變量暑竟。繼承是創(chuàng)建了一個(gè)新的類,而類別只是對類的一個(gè)擴(kuò)展育勺,還是之前的類但荤。

類目的作用就是為已知的類添加方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涧至,一起剝皮案震驚了整個(gè)濱河市腹躁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌南蓬,老刑警劉巖纺非,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盟步,死亡現(xiàn)場離奇詭異积糯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)代嗤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門窄陡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倒信,“玉大人,你說我怎么就攤上這事泳梆”钣疲” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵优妙,是天一觀的道長乘综。 經(jīng)常有香客問我,道長套硼,這世上最難降的妖魔是什么卡辰? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮邪意,結(jié)果婚禮上九妈,老公的妹妹穿的比我還像新娘。我一直安慰自己雾鬼,他們只是感情好萌朱,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著策菜,像睡著了一般晶疼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上又憨,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天翠霍,我揣著相機(jī)與錄音,去河邊找鬼蠢莺。 笑死寒匙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躏将。 我是一名探鬼主播锄弱,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耸携!你這毒婦竟也來了棵癣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夺衍,失蹤者是張志新(化名)和其女友劉穎狈谊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沟沙,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡河劝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了矛紫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赎瞎。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖颊咬,靈堂內(nèi)的尸體忽然破棺而出务甥,到底是詐尸還是另有隱情牡辽,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布敞临,位于F島的核電站态辛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏挺尿。R本人自食惡果不足惜奏黑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望编矾。 院中可真熱鬧熟史,春花似錦、人聲如沸窄俏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裆操。三九已至怒详,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間踪区,已是汗流浹背昆烁。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缎岗,地道東北人静尼。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像传泊,于是被迫代替她去往敵國和親鼠渺。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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

  • 1.#import和#include的區(qū)別 @class? @class一般用于頭文件中需要聲明該類的某個(gè)實(shí)例變量...
    晚照清舟閱讀 407評論 0 0
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,160評論 30 470
  • 1.OC里用到集合類是什么眷细? 基本類型為:NSArray拦盹,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,379評論 0 3
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件溪椎、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,117評論 4 61
  • 面試題9 1.描述應(yīng)用程序的啟動順序普舆。 2.為什么很多內(nèi)置類如UITableViewControl的delegat...
    嘖嘖嘖_野獸閱讀 2,233評論 0 26