欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

iOS開發(fā)培訓(xùn)之絕版開發(fā)面試題錄(二)

2016-01-06 17:24:51 1325瀏覽

        上文《iOS開發(fā)培訓(xùn)之絕版開發(fā)面試題錄(一)》為大家已經(jīng)介紹了五道iOS應(yīng)用開發(fā)面試考題。本文將延續(xù)上文為讀者繼續(xù)介紹關(guān)于iOS應(yīng)用開發(fā)的面試題及其答案。

iOS開發(fā)培訓(xùn)之絕版開發(fā)面試題錄""

        iOS開發(fā)培訓(xùn)之絕版開發(fā)面試題錄:

        一、ViewController的didReceiveMemoryWarning是在什么時(shí)候調(diào)用的?默認(rèn)的操作是什么?

        當(dāng)程序接到內(nèi)存警告時(shí)View Controller將會收到這個(gè)消息:didReceiveMemoryWarning從iOS3。0開始,不需要重載這個(gè)函數(shù),把釋放內(nèi)存的代碼放到viewDidUnload中去。這個(gè)函數(shù)的默認(rèn)實(shí)現(xiàn)是:檢查controller是否可以安全地釋放它的view(這里加粗的view指的是controller的view屬性),比如view本身沒有superview并且可以被很容易地重建(從nib或者loadView函數(shù))。如果view可以被釋放,那么這個(gè)函數(shù)釋放view并調(diào)用viewDidUnload。你可以重載這個(gè)函數(shù)來釋放controller中使用的其他內(nèi)存。但要記得調(diào)用這個(gè)函數(shù)的super實(shí)現(xiàn)來允許父類(一般是UIVIewController)釋放view。如果你的ViewController保存著view的子view的引用,那么,在早期的iOS版本中,你應(yīng)該在這個(gè)函數(shù)中來釋放這些引用。而在iOS3.0或更高版本中,你應(yīng)該在viewDidUnload中釋放這些引用。

        二、列舉Cocoa中常見的集中多線程的實(shí)現(xiàn),并談?wù)劧嗑€程安全的幾種解決辦法,一般什么地方會用到多線程?

        MVC設(shè)計(jì)模式考慮三種對象:模型對象、視圖對象、和控制器對象。模型對象代表特別的知識和專業(yè)技能,它們負(fù)責(zé)保有應(yīng)用程序的數(shù)據(jù)和定義操作數(shù)據(jù)的邏輯。視圖對象知道如何顯示應(yīng)用程序的模型數(shù)據(jù),而且可能允許用戶對其進(jìn)行編輯??刂破鲗ο笫菓?yīng)用程序的視圖對象和模型對象之間的協(xié)調(diào)者。

        三、內(nèi)存管理 Autorelease、retain、copy、assign的set方法和含義?

        1、你初始化(alloc/init)的對象,你需要釋放(release)它。例如:NSMutableArray aArray = [[NSArray alloc] init];后,需要[aArray release];

        2、你retain或copy的,你需要釋放它。例如:[aArray retain]后,需要[aArray release];3,被傳遞(assign)的對象,你需要斟酌的retain和release。例如:obj2 = [[obj1 someMethod] autorelease];對象2接收對象1的一個(gè)自動釋放的值,或傳遞一個(gè)基本數(shù)據(jù)類型(NSInteger,NSString)時(shí): 你或希望將對象2進(jìn)行retain,以防止它在被使用之前就被自動釋放掉。但是在retain后,一定要在適當(dāng)?shù)臅r(shí)候進(jìn)行釋放。

        四、iOS有沒有垃圾回收?

        Objective-C 2.0也是有垃圾回收機(jī)制的,但是只能在Mac OS X Leopard 10.5 以上的版本使用。

        五、iOS程序運(yùn)行流程

        1、系統(tǒng)調(diào)用app的main函數(shù)2。 main函數(shù)調(diào)用UIApplicationMain。

        2、 UIApplicationMain創(chuàng)建shared application instance, UIApplication默認(rèn)的instance。

        3、 UIApplicationMain讀取Info。plist找到主nib文件, 加載nib,把shared application insta

nce 設(shè)為nib的owner。

        4、通過nib文件,創(chuàng)建app的獨(dú)立UIWindows object。

        5、 通過nib,實(shí)例化了程序的AppDelegate object。

        6、 app內(nèi)部啟動結(jié)束,application:didFinishLaunchingWith- Options: 被設(shè)定成 wAppDelegate instance。

        7、 AppDelegate向UIWindow instance發(fā)makeKeyAndVisible消息, app界面展示給用戶。 app準(zhǔn)備好接收用戶的操作指令。

        當(dāng)然,隨著iOS開發(fā)系統(tǒng)的不斷升級,越來越多新興技術(shù)要求將圍繞著程序員們,所以再好的準(zhǔn)備不如切實(shí)將知識和操作融會貫通??鄱W(xué)堂iOS開發(fā)培訓(xùn)教程視頻免費(fèi)面向讀者開放,歡迎大家一起來學(xué)習(xí)iOS開發(fā)技術(shù)。

查看更多關(guān)于“iOS資訊”的相關(guān)文章>>

標(biāo)簽:

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部