面試題收集-iphone筆試題_第1頁
面試題收集-iphone筆試題_第2頁
面試題收集-iphone筆試題_第3頁
面試題收集-iphone筆試題_第4頁
面試題收集-iphone筆試題_第5頁
免費預(yù)覽已結(jié)束,剩余19頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

+(id)initWithCString:(constchar*)nullTerminatedCStringobj=[selfallocWithZone:obj=[objinitWIthCString:nullTerminatedCStringencoding:encoding];}寫一個委托的@protocolMyDelegate;@interfaceMyClass:NSObject{id<MyDelegate>}//@protocol-(void)didJobs:(NSArray*)args; InterfaceBuilder中進行。對于大多數(shù)的開發(fā)者和大多數(shù)的使用場合,InterfaceBuilder是更好的方法。當您使用InterfaceBuilder設(shè)置控件和目標時,它可以提供視覺上的確認,并且Core通過CoreAnimation,您就可以通過一個基于組合獨立圖層的簡單的編程模型來創(chuàng)建豐富CoreCoreAudio是,處理和錄制音頻的專業(yè)技術(shù),能夠輕松為您的應(yīng)用程序添加強大的音Core提供了一個面象的數(shù)據(jù)管理解決方案它易于使用和理解甚至可處理任何應(yīng)用或大或下面是CocoaTouch音頻和CoreAudioOpenALMediaLibraryAV數(shù)據(jù)管理CoreData圖形和動畫CoreAnimationOpenGLESQuartz網(wǎng)絡(luò)BonjourWebKitBSD用戶應(yīng)用AddressBookCoreLocationMapKitStore在未來某些時候?qū)eference數(shù)量減少為一個對象分配內(nèi)存,并設(shè)置保留值數(shù)量(retaincount)為1一個對象,并將其做為返回值。同時設(shè)置保留值數(shù)量(retaincount)為1ojc-c是通過一種"referringcounting"(計數(shù))的方式來管理內(nèi)存的,對象在開始分配內(nèi)存(alloc)的時候計數(shù)為一,以后每當碰到有copy,retain的時候計數(shù)都會加一,每當碰到release和autorelease的時候計數(shù)就會減一,如果此對象的計數(shù)變?yōu)榱?,就會被系統(tǒng)銷毀.?2.NSAutoreleasePool就是用來做計數(shù)的管理工作的,這個東西一般不用你管的?3.autorelease和release沒什么區(qū)別,只是計數(shù)減一的時機不同而已,autorelease會在對象的使用真正結(jié)束的時候才做計數(shù)減一.自動池是什么,如何工它發(fā)送消息。當程序執(zhí)行到作用域結(jié)束的位置時,自動池就會被,池中的所有對答:objc優(yōu)點:?1)Cateogies?2) 6)不是一個過度復雜的C衍生語言 Objective-C與C++可混合編程 1)不支援命名空間 2)不支持運算符重載(如內(nèi)聯(lián)函數(shù)等),readwrite,readoyassign,eta,co,omic是一個屬性,擴號內(nèi)支持以下幾個屬性:答: 操作,為了解決原類型與環(huán)循問題 3,retain,setter方法對參數(shù)進行release舊值再 在一個對象的方法里面“object”;和name=”object”;有什么不同嗎答:="object"會調(diào)用對象的setName()方法,name="object"會直接把object賦值給當前對象的name屬性。為什么很多內(nèi)置類如UITawCr的te屬性都是sn而不是rtain的?答:會引起循環(huán)所有的計數(shù)系統(tǒng),都存在循環(huán)應(yīng)用的問題。例如下面的關(guān)系對象a創(chuàng)建并到了對象對象b創(chuàng)建并到了對象對象c創(chuàng)建并到了對象c還了b,所以b的計數(shù)為1,b不會被。b不,c的計數(shù)就是1,c也不是assign方式的屬性而不是retain方式的屬性,賦值不會增加計數(shù),就是為了防止delegation兩端產(chǎn)生不必要的循環(huán)。如果一個UITableViewController對象通過retain獲取了UITableView對象b的所,這個UITableView對象b的delegate又是a,如果這個delegat是retain方式的,那基本上就沒有機會這兩個對象了。自己在設(shè)計使用delegate模式時,也要注意這點。來操作,可以用NotificationQueue的方式安排觀察者的反應(yīng)順序,也可以在添加觀察者中定反映時間,取消觀察需要在viewDidUnload跟dealloc中都要注銷)。參考 /blog/2010/6/6/delegation-or-ete針對t-orcir可以返回值給senfcnt-e/my/,reciev無法返回值給sendr所以,l用于se希望接受到rci的某個功能反饋值,tifctKVC和答:KVC(Key-Value-Coding)的實現(xiàn):一個對象在調(diào)用setValue的時候,(1)首先根ViewController的loadView,viewDidLoad,viewDidUnload分別是在什么時候調(diào)用的?此方法在編程實現(xiàn)view時調(diào)用,view控制器默認會memorywarningnotification,當viewcontroller的任何view沒有用的時候,viewDidUnloadretain的viewrelease,如果是retain的IBOutletview屬性則不要在這里release,IBOutlet會負責release。ViewController的didReceiveMemoryWarning是在什么時候被調(diào)用的?默認的操作 DidReceiveMemoryWarning()方法調(diào)用[superdidReceiveMemoryWarning].OOP是一種用于解決問題的編程方法或通用方法。與之相反,算法是用于解決特定問題的特定方法。OOP天生是一種強有力的方法;它往往使過程型和函數(shù)型編程方法與該問題較通常,有三個語言特性是OOP(有兩種繼承:單一繼承和多重繼承。單一繼承要求子對象只有一個父對象,而多重繼承更與實際生活一樣在編程過程中具有兩個以上的父對象會導致并使子對象難Perl支持多重繼承。(所有的綿羊、和狗加起來,結(jié)果是7只。其實您剛剛應(yīng)用了多態(tài)性,即為了計算,把則以從其它科學領(lǐng)域“竊用”(我是指“重用”)好主意聞名。封裝指的是以這樣式#import#import@interfaceClassName(CategoryName//methodcatgory允許你為一個已經(jīng)存在的類增加方 Classextensions與此相似,但是它允許在@implementation代碼塊額外的增加自己需要的類變量的@protected,@private,@public,@package各有什么含答:Objective-Cprotected—Methodsdefinedintheclassandanysubclassescandirectlyaccesstheinstancevariablesthatfollow.Thisisthedefaultcase.該類和所有的子類中的方法可以直privateMethodsdefinedintheclasscandirectlyaccesstheinstancevariablesthatfollow,butsubclassescannot.該類中的方法可以這樣的變量,子類不可以。public—Methodsdefinedintheclassandanyotherclassesormodulescandi-rectlyaccesstheinstancevariablesthatfollow.除了自己和子類中的方法外,也可以被其他類或packageFor64-bitimages,theinstancevariablecanbeaccessedanywherewithintheimagethatimplementstheclass.對于64位圖像,這樣的成員變量可以在實現(xiàn)這個類的圖他們代表的意思和C++中相同只是前面添加了一個@符號下面介紹一下他們代表的范圍下面是的圖 實現(xiàn)一個Boss類實現(xiàn)一個Worker類繼承Boss類在Worker的.m文件中添加如NSString,NSNumber等一類對象//非容器類對 NSString*str=@"originNSString*strCopy=[strNSMutableString*mstrCopy=[str[mstrCopy查看內(nèi)存可以發(fā)現(xiàn),str和strCopy指向的是同一塊內(nèi)存區(qū)域,稱之為弱(weak示例NSMutableString*mstr=[NSMutableStringNSString*strCopy=[mstrNSMutableString*mstrCopy=[mstrNSMutableString*mstrMCopy=[mstr//[mstrCopyappendString:@"1111"];[mstr[mstrMCopy答:Obj-c語言里面沒有指明有虛基類,不過實現(xiàn)虛基類更簡單,只要建立一個類,子類從它派生.運行時環(huán)境會自動確定子類型.你也可以主動通過[objisKindOfClass:];方法鑒定對象類型.??如果不希望基類生成的對象方法被調(diào)用,只要?-(NSString*)myMethod25.[poolrelease]和[pooldrain]答:Inagarbagecollectedenvironment,releaseisano-op.NSAutoreleasePoolthereforeprovidesadrainmethodthatinareference-countedenvironmentbehavesthesameascallingrelease,butwhichinagarbagecollectedenvironmenttriggersgarbagecollection(ifthememoryallocatedsincethelastcollectionisgreaterthanthecurrentthreshold).Typically,therefore,youshouldusedrainratherthanreleasetodisposeofanpool.在一個garbagecollected環(huán)境里,release不做任何操作。NSAutoreleasePool因此提供了一個drain方法,它在reference-counted環(huán)境中的行為和調(diào)用release一樣,但是在一個garbagecollected環(huán)境中則觸發(fā)garbagecollection動作(ifthememoryallocatedsincethelastcollectionisgreaterthanthecurrentthreshold)。因此通常你應(yīng)該使用drain而不是release去一個autoreleasepool?{? returnnil;?}?就可以了26.自動池寫在循環(huán)內(nèi)好,還是寫在循環(huán)外好27.實現(xiàn)Singleton(單例)模式Singleton模式經(jīng)常來做應(yīng)用程序級別的共享資源控制,應(yīng)該說這個模式的使用頻率非常高,現(xiàn)在來看看在Objective-C里面的實現(xiàn)方法.要實現(xiàn)一個SingletonClass,至少需要做以下四個步驟:1.為SingletonObject實現(xiàn)一個靜態(tài)實例,初始化,然后設(shè)置成nil.2.實現(xiàn)一個實例構(gòu)造方法(通常命名為sharedInstance或者sharedManager)檢查上面聲名的靜態(tài)實例是否為nil,如果是則新建并返回一個本類實例.3.重寫allocWithZone:方法來保證當其他人直接使用alloc和init試圖獲得一個新實例的時候不會產(chǎn)生一個新的實例.4.適當?shù)膶崿F(xiàn)copyWithZone:,release,retain,retainCount和autorelease. {intint*ptr=(int*)(&a+1);}int*ptr=(int&a是數(shù)組指針,其類型為inta是長度為5的int數(shù)組指針,所以要加30.以下為WindowsNT下的32位C++程序,請計算sizeofvoidFunc(charstr[100]{sizeof(str)=}void*p=malloc(100);sizeof(p)=?為4字節(jié),故sizeof(str)、sizeof(p)都為4。-(void)*getNSString(constNSString*{inputString=@"Thisisamaintest\n";return;}{NSString

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論