iOS筆試題02

1. Difference between shallow copy and deep copy?

1> 淺拷貝:指針(地址)拷貝,不會產生新對象 java

2> 深拷貝:內容拷貝,會產生新對象服務器

 

2. What is advantage of categories? What is difference between implementing a category and inheritance? 

類別主要有3個做⽤:
(1)將類的實現分散到多個不一樣⽂件或多個不一樣框架中。
(2)建立對私有⽅法的前向引⽤。
(3)向對象添加⾮正式協議。網絡

1> 分類能夠在不修改原來類模型的基礎上拓充方法框架

2> 分類只能擴充方法、不能擴充成員變量;繼承能夠擴充方法和成員變量,異步

會產生新的類this

 

3. Difference between categories and extensions?


1> 分類是有名稱的,類擴展沒有名稱spa

2> 分類只能擴充方法、不能擴充成員變量;類擴展能夠擴充方法和成員變量代理

3> 類擴展通常就寫在.m文件中,用來擴充私有的方法和成員變量(屬性)指針

注意:繼承和類擴展均可以擴充方法和成員變量,可是繼承會產生新的類,可是類擴展不會產生新的類。對象

4. Difference between protocol in objective c and interfaces in java?


1> Java的接口中聲明的方法必須都實現

2> Oc的protocol中聲明的方法並不必定要實現

注意:protocol簡單來講就是一系列方法列表,能夠聲明不少方法,聲明方法能夠被任何類實現,稱爲代理模式。

 

5. What are mutable and immutable types in Objective C?


1> mutable是可變類型,好比NSMutableArray,能夠動態往裏面添加元素

2> immutable是不可變類型,好比NSArray,固定的存儲空間,不能添加元素

 

6. When we call objective c is runtime language what does it mean?


 

1> 動態綁定:對象類型在運行時才真正肯定 

 

2> 多態性

 

3> 消息機制

 

 

 

 

 

7. What is push notification?


 

1> 本地推送:程序內部彈出通知到用戶設備

 

2> 遠程推送:由推送服務器推送通知到用戶設備

 

 

 

8. What is Polymorphism

 

多態:父類指針指向子類對象

 

 

 

 

 

9. What is responder chain?


 


 響應者鏈:

 

l UIResponder有一個nextResponder屬性,經過該屬性能夠組成一個響應者鏈,事件或消息在其路徑上進行傳遞

 

l 若是UIResponder沒有處理傳給它的事件,會將未處理的消息轉發給本身的nextResponder

 

 

10. Difference between frame and bounds?
 

1> frame以父控件的左上角爲座標原點

2> bounds以控件自己的左上角爲座標原點

 

11. Difference between method and selector?


selector是一個方法的名字,經過一個selector能夠找到方法地址,進而調用一個方法 ;method是一個組合體,包含了名字和實現.

12. Is there any garbage collection mechanism in Objective C.?


1> OC 1.0沒有垃圾回收

2> OC 2.0有垃圾回收,只能用在Mac

3> iOS中有ARC機制,是編譯器特性,垃圾回收是運行時特性

 

13. What is NSOperation queue?


1> 用來存放NSOperation對象的隊列,能夠用來異步執行一些操做

2> 通常能夠用在網絡請求等耗時操做

 

14. What is lazy loading?


延遲加載:好比控制器的view,在第一次用到view時纔會調用loadView方法進行建立

15. Can we use two tableview controllers on one viewcontroller?

一個控制器內部添加2個表格控制器是沒有問題的,加判斷條件判斷是哪一個tableview。

 

16. Can we use one tableview with two different datasources? How you will achieve this?



從對象屬性上分析,tableView只有一個dataSource屬性。固然,真要使用2個不一樣的數據源,也是能夠的。

相關文章
相關標籤/搜索