一. 簡述iOS動畫機制
iOS分為顯式動畫,隱式動畫
- 顯式動畫: 對一些屬性做指定的自定義動畫,或者創建非線性動畫,比如沿著任意一條曲線移動。
- 隱式動畫:主要是作用于非根層,也就是自己手動創建的layer,當對它的一些屬性進行修改時,會自動產生一些動畫效果
二. 什么是UIKit?
UIKit是iOS上的AppKit的變種,用于為iOS應用程序提供界面對象和控制器。
與AppKit類似,UIKit框架有UIResponder,也采用事件(UIEvent類)機制。
另外,iOS上的應用程序都是一個UIApplication實例。 所有的iOS應用程序都基于UIKit ,它提供了在屏幕上繪制的機制,捕獲事件,和創建通用用戶界面元素。
UIKit也通過管理顯示在屏幕上的組件來組織復雜的項目。
使用UIKit可以:
? 構建和管理你的用戶界面
? 捕獲觸摸和基于移動的事件
? 呈現文字和web內容
? 優化你的多任務程序
? 創建定制的用戶界面元素
三. 三此握手,具體怎么交互?
第一次握手:客戶端發送syn(syn=j)包到服務器;并進入SYN_SEND狀態,等待服務器確認
第二次握手:服務器收到syn包,確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。
注意:三次握手中發送的包不包含數據,三次握手完畢,客戶端和服務器才正式開始傳送數據。TCP連接一旦建立,在通信雙方的任何一方主動關閉連接之前,TCP連接都將被一直保持下去
四. 什么是安全釋放?
對象唄釋放的時候,指向nil
五. 在iphone上有兩件事情要做,請問是在一個線程里按順序做效率高還是兩個線程里做效率高?
如果兩件事有依賴關系,事件二必須等到事件一執行完畢才執行,那么放在一個線程就可以了,如果兩者并沒有什么關聯,放到兩個線程并發執行效率較高
六. 4、NSArray和NSSet有何區別?
NSSet: 里面存放的元素是無序的,不重復的,可以通過anyObject來訪問單個元素.在搜索一個一個元素時NSSet比NSArray效率高,主要是它用到了數據結構中的哈希算法,而NSArray則是需要遍歷全部的數組元素,效率會低一些.
NSArray : 里面存放的元素是有序的,可以有重復的對象,可以通過下標來訪問里面的數組元素
七. __weak什么時候用?
當兩個對象互相引用的時候,一端用strong,另一端必須用weak .例如: A擁有B, B也擁有A, 那么必須一方使用weak
一般UI控件都可以使用weak,因為自身已經對它進行一次強引用,沒有必要再強引用一次.
八. 列舉幾個常用集合類和存放二進制數據類?
NSArray,NSDictionary,NSSet,以及他們的可變類
存放二進制的有NSData類
九. 多線程,寫出常用的幾個類
- Pthread
- NSThread
- GCD
- NSOperationQueue
十. 一般在哪個函數中創建某個View的子view?
viewDidLoad方法
純手動 有地方是個人理解 有誤的地方希望大家能給指出 謝謝
如果對您有幫助 希望能給個關注和喜歡~~~