面試題總結

1.單例設計模式的實現,為什么使用單例模式?? ? ? ? ? ? ? ? ? ? ? ? ? ? static ?MusicManager *manager=nil; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

@implementation MusicManager

//獲取單例的方法

+(MusicManager*)defaultManager

{

? ? ?//只調用一次,保證線程安全

? ? ?static ?dispa tch_once_t ?onceToken

? ? ?dispatch_once(&onceToken,^{

? ? ? ? ? ? ? if(manager == nil){

? ? ? ? ? ? ? manager = [[MusicManager alloc]init];

? ? ? ? ? ? ? }

? ? ?});

? ? ? return ? manager;

}

為什么使用單例設計??

? ? 1.單例設計是用來限制一個類只能創建一個對象,那么此對象中的屬性可以存儲全局共享的數據,所有的類都可以訪問,設置此單例對象中的屬性數據。2.如果一個類創建的時候非常消耗性能,那么此類可以設置為單例節約性能,只要能夠滿足需求。

2.CALayer層和UIView的區別是什么???

? ? ? ?兩者最大的區別是,圖層不會直接渲染到屏幕上,UIView是iOS系統中界面元素的基礎,所有的界面元素都是繼承于它。它本身是有CoreAnimation來實現的,它真正的繪圖部分,是由一個CALayer類來管理的。而UIView就像是CALayer的管理器,一個UIView上可以有多個CALayer,每個都可以顯示一種東西,從而增強UIView的展現能力。

3.設計模式:

? ? ?MVC,單例,工廠,KVO,策略

? ? ?MVC是一種架構設計,M表示數據模型,V表示視圖,C表示控制器

? ? ?1>數據模型:負責存儲,定義,操作數據

? ? ?2>視圖:用來展示數據給用戶,和用戶進行操作交互

? ? ?3>控制器是M和V的協調者,控制器獲取數據,將數據交給視圖去展示?


4.數據持久化存儲的方式:

? ? ? plist,歸檔,NSUserdefaults,數據庫(FMDB,CoreData)

5.UITableView的復用機制:


6.系統創建多線程的方式:

? ? GCD,NSOperation,NSThread

7.OC中繼承和類別的區別:

? ? 繼承是繼承父類的方法,子類擁有父類的屬性或者方法,類別是為某個類添加一些新的方法,優先使用自己的方法。

8.KVO和KVC的區別:

9.響應者鏈:

? ? ?響應者鏈表示一系列的響應者對象,事件被交由第一響應者對象處理,如果第一響應者不處理,時間被沿著響應者蓮向上傳遞,交給下一個響應者,一般來說,第一響應者是個視圖對象或者其子類對象,當其被觸摸后時間唄交由它處理,如果它不處理,事件就會被傳遞給它的視圖控制器對象,若存在,就是它的父視圖對象,若還存在,直到頂層視圖。接下來會沿著頂層視圖到窗口,再到程序,如果整個過程都沒有響應這個事件,改事件就會被丟棄。

10.UItableView的優化:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 把網上的一些結合自己面試時遇到的面試題總結了一下,以后有新的還會再加進來。 1. OC 的理解與特性 OC 作為一...
    AlaricMurray閱讀 2,610評論 0 20
  • 什么是ARC(ARC是為了解決什么問題誕生的)?ARC是Auto Reference Counting的縮寫,即自...
    Tasselx閱讀 8,115評論 8 72
  • 1.objective-c常見面試題:1、**OC **語言的基本特點OC 語言是 C 語言的一個超集,只是在 C...
    LZM輪回閱讀 981評論 0 3
  • 首先申明:以下題目答案,僅是自己的總結,如有錯誤,還請多多指正。 一,談一下對遠程推送(蘋果推送機制)的理解對于蘋...
    心情的蠱惑閱讀 450評論 3 5
  • 年初在別人的博客里看到這本書的,博主極力推薦,所以就把這本書放到了本年的讀書計劃里,過年期間讀了一遍。書的作者是一...
    林家筱媛閱讀 2,142評論 0 0