iOS基礎問答面試題

來源:文萃谷 1.28W

iOS 7 中的 Siri 擁有新外觀、新聲音和新功能。它的界面經過重新設計,以淡入視圖浮現於任意屏幕畫面的最上層。以下是小編整理的iOS基礎問答面試題,希望大家認真閲讀!

iOS基礎問答面試題

to use NSMutableArray and when to use NSArray?

什麼時候使用NSMutableArray,什麼時候使用NSArray?

答案:當數組在程序運行時,需要不斷變化的,使用NSMutableArray,當數組在初始化後,便不再改變的,使用NSArray。需要指出的是,使用NSArray只表明的是該數組在運行時不發生改變,即不能往NSAarry的數組裏新增和刪除元素,但不表明其數組內的元素的內容不能發生改變。NSArray是線程安全的.,NSMutableArray不是線程安全的,多線程使用到NSMutableArray需要注意。

us example of what are delegate methods and what are data source methods of uitableview.

給出委託方法的實例,並且説出UITableVIew的Data Source方法

答案:CocoaTouch框架中用到了大量委託,其中UITableViewDelegate就是委託機制的典型應用,是一個典型的使用委託來實現適配器模式,其中UITableViewDelegate協議是目標,tableview是適配器,實現UITableViewDelegate協議,並將自身設置為talbeview的delegate的對象,是被適配器,一般情況下該對象是UITableViewController。

UITableVIew的Data Source方法有- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

many autorelease you can create in your application? Is there any limit?

在應用中可以創建多少autorelease對象,是否有限制?

答案:無

we don’t create any autorelease pool in our application then is there any autorelease pool already provided to us?

如果我們不創建內存池,是否有內存池提供給我們?

答案:界面線程維護着自己的內存池,用户自己創建的數據線程,則需要創建該線程的內存池

you will create an autorelease pool in your application?

什麼時候需要在程序中創建內存池?

答案:用户自己創建的數據線程,則需要創建該線程的內存池

retain count increase?

什麼時候內存計數會增加?

答案:見iOS面試題(一)

are commonly used NSObject class methods?

類NSObject的那些方法經常被使用?

答案:NSObject是Objetive-C的基類,其由NSObject類及一系列協議構成。

其中類方法alloc、class、 description 對象方法init、dealloc、– performSelector:withObject:afterDelay:等經常被使用

is convenience constructor?

什麼是簡便構造方法?

答案:簡便構造方法一般由CocoaTouch框架提供,如NSNumber的 + numberWithBool: + numberWithChar: + numberWithDouble: + numberWithFloat: + numberWithInt:

Foundation下大部分類均有簡便構造方法,我們可以通過簡便構造方法,獲得系統給我們創建好的對象,並且不需要手動釋放。

to design universal application in Xcode?

如何使用Xcode設計通用應用?

答案:使用MVC模式設計應用,其中Model層完成脱離界面,即在Model層,其是可運行在任何設備上,在controller層,根據iPhone與iPad(獨有UISplitViewController)的不同特點選擇不同的viewController對象。在View層,可根據現實要求,來設計,其中以xib文件設計時,其設置其為universal。

is keyword atomic in Objective C?

在Objetive-C什麼時原子關鍵字

答案:atomic,nonatomic見iOS面試題(一)

are UIView animations?

UIView的動畫效果有那些?

答案:有很多,如 UIViewAnimationOptionCurveEaseInOut UIViewAnimationOptionCurveEaseIn UIViewAnimationOptionCurveEaseOut UIViewAnimationOptionTransitionFlipFromLeft UIViewAnimationOptionTransitionFlipFromRight UIViewAnimationOptionTransitionCurlUpUIViewAnimationOptionTransitionCurlDown

如何使用可見該博文

can you store data in iPhone applications?

在iPhone應用中如何保存數據?

答案:有以下幾種保存機制:

1.通過web服務,保存在服務器上

2.通過NSCoder固化機制,將對象保存在文件中

3.通過SQlite或CoreData保存在文件數據庫中

is coredata?

什麼是coredata?

答案:coredata是蘋果提供一套數據保存框架,其基於SQlite

is NSManagedObject model?

什麼是NSManagedObject模型?

答案:NSManagedObject是NSObject的子類 ,也是coredata的重要組成部分,它是一個通用的類,實現了core data 模型層所需的基本功能,用户可通過子類化NSManagedObject,建立自己的數據模型。

is NSManagedobjectContext?

什麼是NSManagedobjectContext?

答案:NSManagedobjectContext對象負責應用和數據庫之間的交互。

is predicate?

什麼是謂詞?

答案:謂詞是通過NSPredicate,是通過給定的邏輯條件作為約束條件,完成對數據的篩選。

predicate = [NSPredicate predicateWithFormat:@"customerID == %d",n];

a = [customers filteredArrayUsingPredicate:predicate];

kind of persistence store we can use with coredata?

使用coredata有哪幾種持久化存儲機制?

答案:一、存儲到文件(歸檔對象需實現NSCoping以及NSCoding兩個協議才可以) 二、存儲到plist文件(NSUserdefault) 三、存儲到Sqlite(數據庫)

熱門標籤