中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

iPhone軟件開發(fā)面試題(3)

時間:2024-08-26 00:52:51 學(xué)人智庫 我要投稿
  • 相關(guān)推薦

iPhone軟件開發(fā)面試題(3)

  26.cocoa touch框架

iPhone軟件開發(fā)面試題(3)

  iPhoneOS 應(yīng)用程序的基礎(chǔ) Cocoa Touch 框架重用了許多 Mac 系統(tǒng)的成熟模式,但是它更多地專注于觸摸的接口和優(yōu)化。UIKit 為您提供了在 iPhone OS 上實現(xiàn)圖形,事件驅(qū)動程序的基本工具,其建立在和 Mac OS X 中一樣的Foundation 框架上,包括文件處理,網(wǎng)絡(luò),字符串操作等。

  CocoaTouch 具有和 iPhone 用戶接口一致的特殊設(shè)計。有了 UIKit,您可以使用 iPhone OS 上的獨特的圖形接口控件,按鈕,以及全屏視圖的功能,您還可以使用加速儀和多點觸摸手勢來控制您的應(yīng)用。

  各色俱全的框架 除了 UIKit 外,Cocoa Touch 包含了創(chuàng)建世界一流 iPhone 應(yīng)用程序需要的所有框架,從三維圖形,到專業(yè)音效,甚至提供設(shè)備訪問 API 以控制攝像頭,或通過 GPS 獲知當(dāng)前位置。Cocoa Touch 既包含只需要幾行代碼就可以完成全部任務(wù)的強大的 Objective-C 框架,也在需要時提供基礎(chǔ)的 C 語言 API 來直接訪問系統(tǒng)。這些框架包括:

  Core Animation

  通過 Core Animation,您就可以通過一個基于組合獨立圖層的簡單的編程模型來創(chuàng)建豐富的用戶體驗。

  Core Audio

  Core Audio 是播放,處理和錄制音頻的專業(yè)技術(shù),能夠輕松為您的應(yīng)用程序添加強大的音頻功能。

  Core Data

  提供了一個面向?qū)ο蟮臄?shù)據(jù)管理解決方案,它易于使用和理解,甚至可處理任何應(yīng)用 或大或小的數(shù)據(jù)模型。

  功能列表:框架分類

  下面是 Cocoa Touch 中一小部分可用的框架:

  音頻和視頻

  Core Audio

  OpenAL

  Media Library

  AV Foundation

  數(shù)據(jù)管理

  Core Data

  SQLite

  圖形和動畫

  Core Animation

  OpenGL ES

  Quartz 2D

  網(wǎng)絡(luò)/li>

  Bonjour

  WebKit

  BSD Sockets

  用戶應(yīng)用

  Address Book

  Core Location

  Map Kit

  Store Kit

  27.objc的內(nèi)存管理

  如果您通過分配和初始化(比如[[MyClass alloc] init])的方式來創(chuàng)建對象,您就擁有這個對象,需要負責(zé)該對象的釋放。這個規(guī)則在使用NSObject的便利方法new 時也同樣適用。

  如果您拷貝一個對象,您也擁有拷貝得到的對象,需要負責(zé)該對象的釋放。

  如果您保持一個對象,您就部分擁有這個對象,需要在不再使用時釋放該對象。

  反過來,如果您從其它對象那里接收到一個對象,則您不擁有該對象,也不應(yīng)該釋放它(這個規(guī)則有少數(shù)的例外,在參考文檔中有顯式的說明)。

  28.自動釋放池是什么,如何工作

  當(dāng)您向一個對象發(fā)送一個autorelease消息時,Cocoa就會將該對象的一個引用放入到最新的自動釋放池。它仍然是個正當(dāng)?shù)膶ο,因此自動釋放池定義的作用域內(nèi)的其它對象可以向它發(fā)送消息。當(dāng)程序執(zhí)行到作用域結(jié)束的位置時,自動釋放池就會被釋放,池中的所有對象也就被釋放。

  1. ojc-c 是通過一種"referring counting"(引用計數(shù))的方式來管理內(nèi)存的, 對象在開始分配內(nèi)存(alloc)的時候引用計數(shù)為一,以后每當(dāng)碰到有copy,retain的時候引用計數(shù)都會加一, 每當(dāng)碰到release和autorelease的時候引用計數(shù)就會減一,如果此對象的計數(shù)變?yōu)榱?, 就會被系統(tǒng)銷毀.?2. NSAutoreleasePool 就是用來做引用計數(shù)的管理工作的,這個東西一般不用你管的.?

  3. autorelease和release沒什么區(qū)別,只是引用計數(shù)減一的時機不同而已,autorelease會在對象的使用真正結(jié)束的時候才做引用計數(shù)減一.

  29.類工廠方法是什么

  類工廠方法的實現(xiàn)是為了向客戶提供方便,它們將分配和初始化合在一個步驟中,返回被創(chuàng)建的對象,并進行自動釋放處理。這些方法的形式是 (type)className...(其中 className不包括任何前綴)。

  工廠方法可能不僅僅為了方便使用。它們不但可以將分配和初始化合在一起,還可以為初始化過程提供對象的分配信息。

  類工廠方法的另一個目的是使類(比如NSWorkspace)提供單件實例。雖然init...方法可以確認一個類在每次程序運行過程只存在一個實例,但它需要首先分配一個“生的”實例,然后還必須釋放該實例。工廠方法則可以避免為可能沒有用的對象盲目分配內(nèi)存。

  30.單件實例是什么

  Foundation和 Application Kit 框架中的一些類只允許創(chuàng)建單件對象,即這些類在當(dāng)前進程中的唯一實例。舉例來說,NSFileManager 和NSWorkspace 類在使用時都是基于進程進行單件對象的實例化。當(dāng)向這些類請求實例的時候,它們會向您傳遞單一實例的一個引用,如果該實例還不存在,則首先進行實例的分配和初始化。 單件對象充當(dāng)控制中心的角色,負責(zé)指引或協(xié)調(diào)類的各種服務(wù)。如果類在概念上只有一個實例(比如NSWorkspace),就應(yīng)該產(chǎn)生一個單件實例,而不是多個實例;如果將來某一天可能有多個實例,您可以使用單件實例機制,而不是工廠方法或函數(shù)。

【iPhone軟件開發(fā)面試題(3)】相關(guān)文章:

iPhone軟件開發(fā)面試題10-23

Microsoft面試題09-04

iOS面試題07-10

公司面試題09-12

iphone鎖屏密碼忘了怎么辦07-10

hibernate面試題10-18

英語面試題精選06-13

小升初面試題06-10

PHP面試題10-14

小升初面試題型08-24