iOS面試題及答案

2021-09-13 20:49:57 字數 787 閱讀 4254

1、設計模式是什麼? 你知道哪些設計模式,並簡要敘述?

設計模式是一種編碼經驗,就是用比較成熟的邏輯去處理某一種型別的事情。

1). mvc模式:model view control,把模型 檢視 控制器 層進行解耦合編寫。

2). mvvm模式:model view viewmodel 把模型 檢視 業務邏輯 層進行解耦和編寫。

4). 觀察者模式:kvo是典型的通知模式,觀察某個屬性的狀態,狀態發生變化時通知觀察者。

5). 委託模式:**+協議的組合。實現1對1的反向傳值操作。

6). 工廠模式:通過乙個類方法,批量的根據已有模板生產物件。

2、mvc 和 mvvm 的區別

1). mvvm是對胖模型進行的拆分,其本質是給控制器減負,將一些弱業務邏輯放到vm中去處理。

2). mvc是一切設計的基礎,所有新的設計模式都是基於mvc進行的改進。

3、#import跟 #include 有什麼區別,@class呢,#import<> 跟 #import」」有什麼區別?

答:

1). #import是objective-c匯入標頭檔案的關鍵字,#include是c/c++匯入標頭檔案的關鍵字,使用#import標頭檔案會自動只匯入一次,不會重複匯入。

2). @class告訴編譯器某個類的宣告,當執行時,才去檢視類的實現檔案,可以解決標頭檔案的相互包含。

3). #import<>用來包含系統的標頭檔案,#import」」用來包含使用者標頭檔案。

iOS面試題文案及答案附件

類別中原則上只能增加方法 能新增屬性的的原因只是通過runtime能新增屬性的的原因只是通過runtime的objc setassociatedobject和objc getassociatedobject方法解決無setter getter的問題而已 類擴充套件不僅可以增加方法,還可以增加例項變數...

面試題及答案

1.css優先順序演算法如何計算 2.css盒子模型 3.new操作符具體幹了什麼呢 4.dom操作 怎樣新增 移除 複製 建立和查詢節點 5.js有幾種資料型別,分別是什麼 6.js如何判斷乙個陣列 7.如何通過指定名稱建立乙個元素 8.在jquery 中,如何給動態新增的元素繫結事件 9.如何獲...

iOS面試題5 答案

1 寫乙個遞迴方法 計算n的階乘,然後將計算結果進行儲存。以便應用退出後下次啟動課直接獲取該值。double fun int n if n 0 n 1 return 1 else return n fun n 1 2 nsarray和nsmutablearray的區別,多執行緒操作哪個更安全?nsa...