1.block和protocol的比較。
數組
block:具備匿名功能的內嵌函數緩存
1)block能夠做爲函數參數進行傳遞安全
2)能夠直接在程式碼中撰寫等會要接着執行的程式app
protocol:協議就是方法的聲明,而且當某個類遵照了這個協議就至關於擁有了這個協議中全部方法的聲明。ide
2.對於語句NSString* testObject = [[NSData alloc]init];testObject在編譯時和運行時分別是什麼類型的對象?函數
編譯時是NSString,運行時是NSDataspa
3. OC中是全部對象間的交互是如何實現的?對象
消息機制圖片
4. 什麼是沙盒(sandbox)?沙盒包含哪些文件,描述每一個文件的使用場景。如何獲取這些文件的路徑?如何獲取應用程序包中文件的路徑?it
iOS中的沙盒機制(SandBox)是一種安全體系,它規定了應用程序只能在爲該應用建立的文件夾內讀取文件,不能夠訪問其餘地方的內容。全部的非代碼文件都保存在這個地方,好比圖片、聲音、屬性列表和文本文件等。
.app文件:這個就是可運行的應用文件
Documents:蘋果建議將程序中建立的或在程序中瀏覽到的文件數據保存在該目錄下,iTunes備份和恢復的時候會包括此目錄
Library:存儲程序的默認設置或其它 狀態信息;Library/Caches:存放緩存文件,iTunes不會備份此目錄,此目錄下文件不會在應用退出刪除
tmp:建立和存放臨時文件的地 方。
//獲取Documents文件夾目錄,第一個參數是說明獲取Doucments文件夾目錄,第二個參數說明是在當前應用沙盒中獲取,全部應用沙盒目錄組成一個數組結構的數據存放 NSArray *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsPath = [docPath objectAtIndex:0]; //獲取Cache目錄 NSArray *cacPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *cachePath = [cacPath objectAtIndex:0]; //Library目錄 NSArray *libsPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSString *libPath = [libsPath objectAtIndex:0]; //temp目錄 NSString *tempPath = NSTemporaryDirectory();
5. 介紹一下XMPP?有什麼優缺點嗎?
XMPP:The Extensible Messaging and Presence Protocol(可擴展通信和表示協議)
基於XML的點對點的即時通信協議。
優勢:開放,標準,證明可用,分散式,安全,可擴展性,彈性佳,多樣性。
缺點:數據負載過重,沒有二進制數據
6. 請分別寫出SEL、id的意思?
動態綁定方法 動態類型