iOS面試題-第十二頁

21. oc中可修改和不可以修改類型俯抖。

答:可修改不可修改的集合類。這個我個人簡單理解就是可動態(tài)添加修改和不可動態(tài)添加修改一樣呕诉。

比如NSArray和NSMutableArray福铅。前者在初始化后的內存控件就是固定不可變的弟胀,后者可以添加等揖盘,可以動態(tài)申請新的內存空間眉厨。

22. 我們說的oc是動態(tài)運行時語言是什么意思?

答:多態(tài)。 主要是將數據類型的確定由編譯時兽狭,推遲到了運行時憾股。

這個問題其實淺涉及到兩個概念鹿蜀,運行時和多態(tài)。

簡單來說荔燎,運行時機制使我們直到運行時才去決定一個對象的類別耻姥,以及調用該類別對象指定方法。

多態(tài):不同對象以自己的方式響應相同的消息的能力叫做多態(tài)有咨。意思就是假設生物類(life)都用有一個相同的方法-eat;

那人類屬于生物,豬也屬于生物蒸健,都繼承了life后座享,實現各自的eat,但是調用是我們只需調用各自的eat方法似忧。

也就是不同的對象以自己的方式響應了相同的消息(響應了eat這個選擇器)渣叛。

因此也可以說,運行時機制是多態(tài)的基礎?~~~

23. 通知和協議的不同之處?

答:協議有控制鏈(has-a)的關系盯捌,通知沒有淳衙。

首先我一開始也不太明白,什么叫控制鏈(專業(yè)術語了~)饺著。但是簡單分析下通知和代理的行為模式箫攀,我們大致可以有自己的理解

簡單來說,通知的話幼衰,它可以一對多靴跛,一條消息可以發(fā)送給多個消息接受者。

代理按我們的理解渡嚣,到不是直接說不能一對多梢睛,比如我們知道的明星經濟代理人,很多時候一個經濟人負責好幾個明星的事務识椰。

只是對于不同明星間绝葡,代理的事物對象都是不一樣的,一一對應腹鹉,不可能說明天要處理A明星要一個發(fā)布會藏畅,代理人發(fā)出處理發(fā)布會的消息后,別稱B的

發(fā)布會了种蘸。但是通知就不一樣墓赴,他只關心發(fā)出通知,而不關心多少接收到感興趣要處理航瞭。

因此控制鏈(has-a從英語單詞大致可以看出诫硕,單一擁有和可控制的對應關系。

24. 什么是推送消息?

答:推送通知更是一種技術刊侯。

簡單點就是客戶端獲取資源的一種手段章办。

普通情況下,都是客戶端主動的pull。

推送則是服務器端主動push藕届。 測試push的實現可以查看該博文挪蹭。

25. 關于多態(tài)性

答:多態(tài),子類指針可以賦值給父類休偶。

這個題目其實可以出到一切面向對象語言中梁厉,

因此關于多態(tài),繼承和封裝基本最好都有個自我意識的理解踏兜,也并非一定要把書上資料上寫的能背出來

26. 對于單例的理解

答:在objective-c中要實現一個單例類词顾,至少需要做以下四個步驟:

1).為單例對象實現一個靜態(tài)實例,并初始化碱妆,然后設置成nil肉盹,

2).實現一個實例構造方法檢查上面聲明的靜態(tài)實例是否為nil,如果是則新建并返回一個本類的實例疹尾,

3).重寫allocWithZone方法上忍,用來保證其他人直接使用alloc和init試圖獲得一個新實力的時候不產生一個新實例,

4).適當實現allocWitheZone纳本,copyWithZone窍蓝,release和autorelease。

27. 說說響應鏈

答: 事件響應鏈饮醇。包括點擊事件它抱,畫面刷新事件等。在視圖棧內從上至下朴艰,或者從下之上傳播。

可以說點事件的分發(fā)祠墅,傳遞以及處理侮穿。具體可以去看下touch事件這塊。因為問的太抽象化了

嚴重懷疑題目出到越后面就越籠統毁嗦。

可以從責任鏈模式亲茅,來講通過事件響應鏈處理,其擁有的擴展性

28. frame和bounds有什么不同?

答:frame指的是:該view在父view坐標系統中的位置和大小狗准。(參照點是父親的坐標系統)

bounds指的是:該view在本身坐標系統中 的位置和大小克锣。(參照點是本身坐標系統)

29. 方法和選擇器有何不同?

答:selector是一個方法的名字,method是一個組合體腔长,包含了名字和實現.

詳情可以看apple文檔袭祟。

30. OC的垃圾回收機制?

答: OC2.0有Garbage collection,但是iOS平臺不提供捞附。

一般我們了解的objective-c對于內存管理都是手動操作的巾乳,但是也有自動釋放池您没。

但是差了大部分資料,貌似不要和arc機制搞混就好了胆绊。

31. NSOperation queue?

答:存放NSOperation的集合類氨鹏。

操作和操作隊列,基本可以看成java中的線程和線程池的概念压状。用于處理ios多線程開發(fā)的問題仆抵。

網上部分資料提到一點是,雖然是queue何缓,但是卻并不是帶有隊列的概念肢础,放入的操作并非是按照嚴格的先進現出。

這邊又有個疑點是碌廓,對于隊列來說斗这,先進先出的概念是Afunc添加進隊列璧微,Bfunc緊跟著也進入隊列睛低,Afunc先執(zhí)行這個是必然的袒啼,

但是Bfunc是等Afunc完全操作完以后窍帝,B才開始啟動并且執(zhí)行靡砌,因此隊列的概念離亂上有點違背了多線程處理這個概念牙言。

但是轉念一想其實可以參考銀行的取票和叫號系統梳星。

因此對于A比B先排隊取票但是B率先執(zhí)行完操作跟匆,我們亦然可以感性認為這還是一個隊列异袄。

但是后來看到一票關于這操作隊列話題的文章,其中有一句提到

“因為兩個操作提交的時間間隔很近玛臂,線程池中的線程烤蜕,誰先啟動是不定的〖T”

瞬間覺得這個queue名字有點忽悠人了讽营,還不如pool~

綜合一點,我們知道他可以比較大的用處在于可以幫組多線程編程就好了泡徙。

32. 什么是延遲加載?

答:懶漢模式橱鹏,只在用到的時候才去初始化。

也可以理解成延時加載堪藐。

我覺得最好也最簡單的一個列子就是tableView中圖片的加載顯示了莉兰。

一個延時載,避免內存過高礁竞,一個異步加載糖荒,避免線程堵塞。

33. 是否在一個視圖控制器中嵌入兩個tableview控制器?

答:一個視圖控制只提供了一個View視圖苏章,理論上一個tableViewController也不能放吧寂嘉,

只能說可以嵌入一個tableview視圖奏瞬。當然,題目本身也有歧義泉孩,如果不是我們定性思維認為的UIViewController硼端,而是宏觀的表示視圖控制者,那我們倒是可以把其看成一個視圖控制者寓搬,它可以控制多個視圖控制器珍昨,比如TabbarController那樣的感覺。

34. 一個tableView是否可以關聯兩個不同的數據源?你會怎么處理?

答:首先我們從代碼來看句喷,數據源如何關聯上的镣典,其實是在數據源關聯的代理方法里實現的。

因此我們并不關心如何去關聯他唾琼,他怎么關聯上兄春,方法只是讓我返回根據自己的需要去設置如相關的數據源。

因此锡溯,我覺得可以設置多個數據源啊赶舆,但是有個問題是,你這是想干嘛呢?想讓列表如何顯示祭饭,不同的數據源分區(qū)塊顯示?

35. 什么時候使用NSMutableArray芜茵,什么時候使用NSArray?

答:當數組在程序運行時,需要不斷變化的倡蝙,使用NSMutableArray九串,當數組在初始化后,便不再改變的寺鸥,使用NSArray猪钮。需要指出的是,使用NSArray只表明的是該數組在運行時不發(fā)生改變析既,即不能往NSAarry的數組里新增和刪除元素躬贡,但不表明其數組內的元素的內容不能發(fā)生改變。NSArray是線程安全的眼坏,NSMutableArray不是線程安全的拂玻,多線程使用到NSMutableArray需要注意。

36. 給出委托方法的實例宰译,并且說出UITableVIew的Data Source方法

答:CocoaTouch框架中用到了大量委托檐蚜,其中UITableViewDelegate就是委托機制的典型應用,是一個典型的使用委托來實現適配器模式沿侈,其中UITableViewDelegate協議是目標闯第,tableview是適配器,實現UITableViewDelegate協議缀拭,并將自身設置為talbeview的delegate的對象咳短,是被適配器填帽,一般情況下該對象是UITableViewController。

UITableVIew的Data Source方法有- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

37. 在應用中可以創(chuàng)建多少autorelease對象咙好,是否有限制?

答案:無

38. 如果我們不創(chuàng)建內存池篡腌,是否有內存池提供給我們?

答:界面線程維護著自己的內存池,用戶自己創(chuàng)建的數據線程勾效,則需要創(chuàng)建該線程的內存池

39. 什么時候需要在程序中創(chuàng)建內存池?

答:用戶自己創(chuàng)建的數據線程嘹悼,則需要創(chuàng)建該線程的內存池

40. 類NSObject的那些方法經常被使用?

答:NSObject是Objetive-C的基類,其由NSObject類及一系列協議構成层宫。

其中類方法alloc杨伙、class、 description 對象方法init萌腿、dealloc限匣、– performSelector:withObject:afterDelay:等經常被使用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毁菱,隨后出現的幾起案子膛腐,更是在濱河造成了極大的恐慌,老刑警劉巖鼎俘,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異辩涝,居然都是意外死亡贸伐,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門怔揩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捉邢,“玉大人,你說我怎么就攤上這事商膊》ィ” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵晕拆,是天一觀的道長藐翎。 經常有香客問我,道長实幕,這世上最難降的妖魔是什么吝镣? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮昆庇,結果婚禮上末贾,老公的妹妹穿的比我還像新娘。我一直安慰自己整吆,他們只是感情好拱撵,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布辉川。 她就那樣靜靜地躺著,像睡著了一般拴测。 火紅的嫁衣襯著肌膚如雪乓旗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天昼扛,我揣著相機與錄音寸齐,去河邊找鬼。 笑死抄谐,一個胖子當著我的面吹牛渺鹦,可吹牛的內容都是我干的。 我是一名探鬼主播蛹含,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼毅厚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浦箱?” 一聲冷哼從身側響起吸耿,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酷窥,沒想到半個月后咽安,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蓬推,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年妆棒,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沸伏。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡糕珊,死狀恐怖,靈堂內的尸體忽然破棺而出毅糟,到底是詐尸還是另有隱情红选,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布姆另,位于F島的核電站喇肋,受9級特大地震影響,放射性物質發(fā)生泄漏蜕青。R本人自食惡果不足惜苟蹈,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望右核。 院中可真熱鬧慧脱,春花似錦、人聲如沸贺喝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至氮采,卻和暖如春殷绍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹊漠。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工主到, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人躯概。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓登钥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親娶靡。 傳聞我的和親對象是個殘疾皇子牧牢,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,166評論 30 470
  • 轉:http://www.cocoachina.com/programmer/20151019/13746.htm...
    Style_偉閱讀 1,315評論 0 3
  • 注:此文章來源:Job_Yang 的簡書 1. Object-c的類可以多重繼承么?可以實現多個接口么?Categ...
    廣益散人閱讀 1,350評論 0 13
  • 之前看了很多面試題塔鳍,感覺要不是不夠就是過于冗余,于是我將網上的一些面試題進行了刪減和重排呻此,現在分享給大家轮纫。(題...
    Job_Yang閱讀 12,104評論 12 143
  • 花開兩色禰春夢, 碧落三疊斷世間焚鲜。 化雪胭脂暈冬跡蜡感, 酣香水蜜孕秋仙
    茗香酒影閱讀 175評論 0 2