自己總結IOS面試題

1、一個View從創建到視圖消失經歷了哪些方法

出現:

 alloc              創建對象,分配空間

init-初始化程序

loadView                          從nib載入視圖 ,通常這一步不需要去幹涉。除非你沒有使用xib文件創建視圖

viewDidLoad-加載視圖

viewWillAppear-UIViewController對象的視圖即將加入窗口時調用;

viewDidApper-UIViewController對象的視圖已經加入到窗口時調用;

消失:

viewWillDisappear-UIViewController對象的視圖即將消失、被覆蓋或是隱藏時調用;

viewDidDisappear-UIViewController對象的視圖已經消失、被覆蓋或是隱藏時調用;

viewVillUnload-當內存過低時,需要釋放一些不需要使用的視圖時,即將釋放時調用;

viewDidUnload-當內存過低,釋放一些不需要的視圖時調用。

dealloc                                 視圖被銷燬,此處需要對你在init和viewDidLoad中創建的對象進行釋放

具體可以參考:視圖控制對象生命週期

這是我一次面試時候遇到的問題,雖然懂那麼個意思,但是常用的就是viewWillApper,還有viewDidLoad,要全部準確無誤的說出來還真不是那麼熟悉。

2、頁面直接傳值有哪些方式:

屬性傳遞:在一個界面設置一個變量,另一個界面對這個變量進行賦值;

NSUserDefaults或者數據庫:都是把數據存儲在一個地方,不同的界面可以取用,也可以理解成一種值傳遞方式吧;

NSNotificationCenter在發通知的時候順便把參數傳過去;

代理實現值傳遞;

單例模式;(還有可能有別的我一時想不起來)

3、數據庫增刪改查速度排序

看面試官的意思好像是增加就是插入這麼一個操作,但是我理解的插入包括查詢主鍵約束什麼的

順序應該是:增-》查-》刪-》改(假如理解錯了,歡迎大家指正)

4、ios界面跳轉方式

在界面的跳轉有兩種方法,一種方法是先刪除原來的界面,然後在插入新的界面,使用這種方式無法實現界面跳轉時的動畫效果。

將跳轉的界面的Controller放入到UINavigationController中,使用push或pop實現跳轉,使用這種方式可用實現動畫效果

我不知道present算不算是一種方式

5、ios原生調用html的方式

一種是通過網絡請求的方式,通過返回json或者是直接用webview顯示網絡界面

直接吧js編譯進工程

6、圖片緩存怎麼處理

7、網絡請求

8、地圖類有沒有做過

9、qq登陸;

10、分享到qq之類的軟件上;

11、推送怎麼處理,用過什麼推送;

12、語言播報功能;

這些都是比較廣泛的問題,大家可以瞭解一下,以後有新的知識我會繼續補充

發佈了49 篇原創文章 · 獲贊 15 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章