ios面試題及答案

在一個對象釋放前.如果他被加到了notificationcenter 中.不在notificationcenter中remove這個對象可能會出現什麼問題?

怎樣實現一個 singleton的類.給出思路。

什麼是序列化或者acrchiving,可以用來做什麼,怎樣與copy結合,原理是什麼?.

執行緒是什麼? 有哪些注意事項.?

在iphone上有兩件事情要做,請問是在一個執行緒里按順序做效率高還是兩個執行緒里做效率高?為什麼?

給出委託方法的實例,並且說出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;

類nsobject的那些方法經常被使用?

答案:nsobject是objetive-c的基類,其由nsobject類及一系列協定構成。

其中類方法alloc、class、 description 對象方法init、dealloc、– performselector:withobject:afterdelay:等經常被使用

如何使用xcode設計通用套用?

答案:使用mvc模式設計套用,其中model層完成脫離界面,即在model層,其是可運行在任何設備上,在controller層,根據iphone與ipad(獨有uisplitviewcontroller)的不同特點選擇不同的 viewcontroller對象。在view層,可根據現實要求,來設計,其中以xib檔案設計時,其設定其為universal。

什麼是coredata?

答案:coredata是蘋果提供一套數據保存框架,其基於sqlite

什麼是nsmanagedobject模型?

答案:nsmanagedobject是nsobject的子類 ,也是coredata的重要組成部分,它是一個通用的類,實現了core data 模型層所需的基本功能,用戶可通過子類化nsmanagedobject,建立自己的數據模型。

回響者鏈是什麼?

unix上進程怎么通信?

timer的間隔周期準嗎?為什麼?怎樣實現一個精準的timer?

uiscrollvew用到了什麼設計模式?還能再foundation庫中找到類似的嗎?

如果要開發一個類似eclipse的軟體,支持外掛程式結構。且開放給第三方開發。你會怎樣去設計它?(大概思路)