- 相關(guān)推薦
iOS基礎(chǔ)問答面試題
iOS 7 中的 Siri 擁有新外觀、新聲音和新功能。它的界面經(jīng)過重新設(shè)計,以淡入視圖浮現(xiàn)于任意屏幕畫面的最上層。以下是小編整理的iOS基礎(chǔ)問答面試題,希望大家認真閱讀!
1.When to use NSMutableArray and when to use NSArray?
什么時候使用NSMutableArray,什么時候使用NSArray?
答案:當數(shù)組在程序運行時,需要不斷變化的,使用NSMutableArray,當數(shù)組在初始化后,便不再改變的,使用NSArray。需要指出的是,使用NSArray只表明的是該數(shù)組在運行時不發(fā)生改變,即不能往NSAarry的數(shù)組里新增和刪除元素,但不表明其數(shù)組內(nèi)的元素的內(nèi)容不能發(fā)生改變。NSArray是線程安全的,NSMutableArray不是線程安全的,多線程使用到NSMutableArray需要注意。
2.Give us example of what are delegate methods and what are data source methods of uitableview.
給出委托方法的實例,并且說出UITableVIew的Data Source方法
答案:CocoaTouch框架中用到了大量委托,其中UITableViewDelegate就是委托機制的典型應(yīng)用,是一個典型的使用委托來實現(xiàn)適配器模式,其中UITableViewDelegate協(xié)議是目標,tableview是適配器,實現(xiàn)UITableViewDelegate協(xié)議,并將自身設(shè)置為talbeview的delegate的對象,是被適配器,一般情況下該對象是UITableViewController。
UITableVIew的Data Source方法有- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
3.How many autorelease you can create in your application? Is there any limit?
在應(yīng)用中可以創(chuàng)建多少autorelease對象,是否有限制?
答案:無
4.If we don’t create any autorelease pool in our application then is there any autorelease pool already provided to us?
如果我們不創(chuàng)建內(nèi)存池,是否有內(nèi)存池提供給我們?
答案:界面線程維護著自己的內(nèi)存池,用戶自己創(chuàng)建的數(shù)據(jù)線程,則需要創(chuàng)建該線程的內(nèi)存池
5.When you will create an autorelease pool in your application?
什么時候需要在程序中創(chuàng)建內(nèi)存池?
答案:用戶自己創(chuàng)建的數(shù)據(jù)線程,則需要創(chuàng)建該線程的內(nèi)存池
6.When retain count increase?
什么時候內(nèi)存計數(shù)會增加?
答案:見iOS面試題(一)
7.What are commonly used NSObject class methods?
類NSObject的那些方法經(jīng)常被使用?
答案:NSObject是Objetive-C的基類,其由NSObject類及一系列協(xié)議構(gòu)成。
其中類方法alloc、class、 description 對象方法init、dealloc、– performSelector:withObject:afterDelay:等經(jīng)常被使用
8.What is convenience constructor?
什么是簡便構(gòu)造方法?
答案:簡便構(gòu)造方法一般由CocoaTouch框架提供,如NSNumber的 + numberWithBool: + numberWithChar: + numberWithDouble: + numberWithFloat: + numberWithInt:
Foundation下大部分類均有簡便構(gòu)造方法,我們可以通過簡便構(gòu)造方法,獲得系統(tǒng)給我們創(chuàng)建好的對象,并且不需要手動釋放。
9.How to design universal application in Xcode?
如何使用Xcode設(shè)計通用應(yīng)用?
答案:使用MVC模式設(shè)計應(yīng)用,其中Model層完成脫離界面,即在Model層,其是可運行在任何設(shè)備上,在controller層,根據(jù)iPhone與iPad(獨有UISplitViewController)的不同特點選擇不同的viewController對象。在View層,可根據(jù)現(xiàn)實要求,來設(shè)計,其中以xib文件設(shè)計時,其設(shè)置其為universal。
10.What is keyword atomic in Objective C?
在Objetive-C什么時原子關(guān)鍵字
答案:atomic,nonatomic見iOS面試題(一)
11.What are UIView animations?
UIView的動畫效果有那些?
答案:有很多,如 UIViewAnimationOptionCurveEaseInOut UIViewAnimationOptionCurveEaseIn UIViewAnimationOptionCurveEaseOut UIViewAnimationOptionTransitionFlipFromLeft UIViewAnimationOptionTransitionFlipFromRight UIViewAnimationOptionTransitionCurlUpUIViewAnimationOptionTransitionCurlDown
如何使用可見該博文
12.How can you store data in iPhone applications?
在iPhone應(yīng)用中如何保存數(shù)據(jù)?
答案:有以下幾種保存機制:
1.通過web服務(wù),保存在服務(wù)器上
2.通過NSCoder固化機制,將對象保存在文件中
3.通過SQlite或CoreData保存在文件數(shù)據(jù)庫中
13.What is coredata?
什么是coredata?
答案:coredata是蘋果提供一套數(shù)據(jù)保存框架,其基于SQlite
14.What is NSManagedObject model?
什么是NSManagedObject模型?
答案:NSManagedObject是NSObject的子類 ,也是coredata的重要組成部分,它是一個通用的類,實現(xiàn)了core data 模型層所需的基本功能,用戶可通過子類化NSManagedObject,建立自己的數(shù)據(jù)模型。
15.What is NSManagedobjectContext?
什么是NSManagedobjectContext?
答案:NSManagedobjectContext對象負責(zé)應(yīng)用和數(shù)據(jù)庫之間的交互。
16.What is predicate?
什么是謂詞?
答案:謂詞是通過NSPredicate,是通過給定的邏輯條件作為約束條件,完成對數(shù)據(jù)的篩選。
predicate = [NSPredicate predicateWithFormat:@"customerID == %d",n];
a = [customers filteredArrayUsingPredicate:predicate];
17.What kind of persistence store we can use with coredata?
使用coredata有哪幾種持久化存儲機制?
答案:一、存儲到文件(歸檔對象需實現(xiàn)NSCoping以及NSCoding兩個協(xié)議才可以) 二、存儲到plist文件(NSUserdefault) 三、存儲到Sqlite(數(shù)據(jù)庫)
【iOS基礎(chǔ)問答面試題】相關(guān)文章:
文秘基礎(chǔ)知識常見問答03-08
java基礎(chǔ)面試題201703-30
2017年net基礎(chǔ)面試題03-04
2017年經(jīng)典的Java基礎(chǔ)面試題03-29
2017年單片機基礎(chǔ)知識問答大全「推薦」02-27
建筑知識問答02-28
新西蘭留學(xué)的續(xù)簽問答03-23
word操作技巧問答03-02