iOS笔试题目.docx_第1页
iOS笔试题目.docx_第2页
iOS笔试题目.docx_第3页
iOS笔试题目.docx_第4页
iOS笔试题目.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. delegate中的property使用以下哪个属性(A)A. assignB. retainC. copyD. Strong选 A ;避免循环引用!那么就要知道循环引用是怎么来的?比如,使用 tableview 的时候我们会设置他的 delete;可能一般情况下是你的 viewcontroller 对象;viewcontroller 持有着这个tableview,如果tableview 不使用 assign (arc 使用 weak) 的话,那么就造成了tableview 持有viewcontroller,即 相互持有,最终结果是viewcontroller内存泄露,释放不掉了;这是一个很严重的问题!viewcontroller是一个很大的对象!B,D 是一个意思,都是持有(保留);copy的话就更不可能了,原因很简单,tableview 怎么知道他的delete 有没有实现 copying 协议呢!2. 关于Objective-C中属性的说明,以下错误的是(D)A.readwrite是可读可写特性,需要生成getter方法和setter方法B.readonly是只读特性,只有getter方法,没有setter方法C.assign是赋值属性,setter方法将传入参数赋值给实例变量D.retain表示持有特性,copy属性表示拷贝属性,都会建立一个相同的对象Copy是创建一个新对象,Retain是创建一个指针,引用对象计数加1。 Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。Retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容相同,这个对象的retain值+1也就是说,retain是指针拷贝,copy是内容拷贝3. 下面对category描述不正确的是(B)A.category可以添加新的方法B.category可以删除修改之前的方法C.将类的实现分散到多个不同文件或多个不同框架中D.创建对私有方法的前向引用类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类),但不能删除修改之前的方法。类别主要有3个作用:(1)可以将类的实现分散到多个不同文件或多个不同框架中,方便代码管理。也可以对框架提供类的扩展(没有源码,不能修改)。(2)创建对私有方法的前向引用:如果其他类中的方法未实现,在你访问其他类的私有方法时编译器报错这时使用类别,在类别中声明这些方法(不必提供方法实现),编译器就不会再产生警告(3)向对象添加非正式协议:创建一个NSObject的类别称为“创建一个非正式协议”,因为可以作为任何类的委托对象使用。4. NSRunLoop的以下描述错误的是(C)A.Runloop并不是由系统自动控制的B.有3类对象可以被run loop监控:sources,timers,observersC.线程是默认启动run loop的D.NSTimer可手动添加到新建的NSRunLoop中A:Runloop的作用在于当有事情要做时它使当前的thread工作,没有事情做时又使thread休眠sleep。Runloop并不是由系统自动控制的,尤其是对那些新建的次线程需要对其进行显示的控制。B:有3类对象可以被run loop监控:sources、timers、observers。当这些对象需要处理的时候,为了接收回调,首先必须通过CFRunLoopAddSource,CFRunLoopAddTimer或者CFRunLoopAddObserver把这些对象放入run loop。 要停止接收它的回调,可以通过CFRunLoopRemoveSource从run loop中移除某个对象。C:每一个线程都有自己的runloop, 主线程是默认开启的,创建的子线程要手动开启,因为NSApplication 只启动main applicaiton thread。D:NSTimer默认添加到当前NSRunLoop中,也可以手动制定添加到自己新建的NSRunLoop的中。5. 单例类NSNotificationCenter提供信息广播通知,它采用的是观察者模式的通知机制。(A)A. 对B. 错6. 判断:从通讯录数据库查询联系人数据,可通过ABAddressBookCopyArrayOfAllPeople和ABAddressBookCopyPeopleWithName函数获得。(A)A. 对B. 错从通信录数据库查询联系人数据是无法使用SQL语句,只能通过ABAddressBookCopyArrayOfAllPeople和ABAddressBookCopyPeopleWithName函数获得.ABAddressBookCopyArrayOfAllPeople函数是查询所有的联系人数据。ABAddressBookCopyPeopleWithName函数是通过人名查询通讯录中的联系人,其中的name参数就是查询的前缀关键字。7. NSURLConnection类的同步请求方法是(A)A.+ sendSynchronousRequest:returningResponse:error:B. initWithRequest:delegate:C. initWithRequest:delegate:startImmediately:B和C都是异步方法,需要设置delegate属性。8. genstrings命名的基本语法:genstrings -a -q -o sourcefile(A)A.对B.错下面是genstrings命名的基本语法:genstrings-a-q-osourcefile其中参数:-a 在存在的文件后面追加内容-q 关闭多个键/值对的警告-o 指定输出目录因此如果我们想输出到en.lproj目录,则代码如下:genstrings-oen.lproj*.m9. 面哪些属于UITableViewDelegate协议的方法(C)A.tableView:cellForRowAtIndexPath:B.tableView:numberOfRowsInSection:C.tableView:didSelectRowAtIndexPath:D.numberOfSectionsInTableView:10. 平铺导航模式是在内容组织上没有层次关系,展示的内容都放置在一个主屏幕上,采用分屏或分页控制器进行导航,可以左右或者上下滑动屏幕查看内容(A)A.对B.错11. UIPopoverController控制器的常用方法和属性(ABCD)A.presentPopoverFromBarButtonItem:permittedArrowDirections:animated:呈现Popover视图方法B.dismissPopoverAnimated: 关闭Popover视图方法C.popoverVisible,判断Popover视图是否可见D.popoverArrowDirection,判断Popover视图箭头的方向12. 模态视图专用属性有哪些(ABCD)A.UIModalPresentationFullScreen,全屏状态,是默认呈现样式,iPhone只能全屏呈现。B.UIModalPresentationPageSheet,它的宽度是固定的768点,在iPad竖屏情况下则全屏呈现。C.UIModalPresentationFormSheet,它的是固定的540x620点,无论是横屏还是竖屏情况下呈现尺寸都不会变化。D.UIModalPresentationCurrentContext,它与父视图控制器有相同的呈现方式。13. iOS单元测试框架有哪些(ABC)A.OCUnitB.GHUnitC.OCMockD.NSXMLOCUnit和XCTest都是官方的测试框架,OCUnit已经过时被XCTest所取代。GHUnit和OCMock都是第三方的测试框架,其官方地址分别为:/gh-unit/gh-unit,/erikdoe/ocmock14. NSURLConnectionDelegate协议中的方法有哪些(ABD)A.connection:didReceiveData:B.connection:didFailWithError:C.initWithRequest:delegate:D.connectionDidFinishLoading:单看NSURLConnectionDelegate,答案只有B,而A和D属于NSURLConnectionDataDelegate。仔细看NSURLConnectionDataDelegate的声明:protocolNSURLConnectionDataDelegate 可以知道A和D也正确15. NSURLRequest的构造函数有(ABCD)A.+ requestWithURL:B. initWithURL:C.+ requestWithURL:cachePolicy:timeoutInterval:D. initWithURL:cachePolicy:timeoutInterval:ac构造函数bd初始化函数16. iOS应用导航模式有哪些(ABC)A.平铺导航模式B.标签导航模式C.树形结构导航模式D.模态视图17. 使用genstring工具可以扫描的宏是有哪些(ABCDEFGH)A.CFCopyLocalizedStringB.CFCopyLocalizedStringFromTableC.CFCopyLocalizedStringFromTableInBundleD.CFCopyLocalizedStringWithDefaultValueE.NSLocalizedStringF.NSLocalizedStringFromTableG.NSLocalizedStringFromTableInBundleH.NSLocalizedStringWithDefaultValue18. 在UIViewController类中与模态相关方法有哪些(AB)A.presentViewController:animated:completion:B.dismissViewControllerAnimated:completion:C.addChildViewController:D.removeFromParentViewController19. iOS中导航设计模式有几种(ABC)A.平铺导航B.标签导航C.树形导航D.模态视图导航20. NSXML框架中核心的是NSXMLParser和它的委托协议NSXMLParserDelegate,NSXMLParserDelegate常用方法有哪些(ABCDE)A.parserDidStartDocumentB.parser:foundCharactersC.parser:didStartElement:namespaceURI:qualifiedName:attributesD.parser:didEndElement:namespaceURI:qualifiedNameE.parserDidEndDocument21. NSXMLParser构造方法有哪些(ABC)A.initWithContentsOfURLB.initWithDataC.initWithStreamD.initWithContentsOfFile查api知道只有三个 initWithContentsOfURL,initWithData,initWithStream,也就是本地xml文件的解析必须转化为NSData才可以同时查api知道对于json的初始化方法有JSONObjectWithData, JSONObjectWithStream解析json用dataWithJSONObject,writeJSONObject;toStream:22. NSAssert类似的宏有哪些(ABCD)A.NSAssert1B.NSAssert2C.NSAssert3D.NSAssert4assert 是C里面的宏。用于断言。NSAssert 只能在Objective-c里面使用。是assert的一个扩充。能捕获assert类异常及打印一些可读的日志23. Objective-C有哪几种内存管理方法(ABCD)A.MRR(Manual Retain Release)B.MRC(Manual Reference Counting)C.ARC(Automatic Reference Counting)D.GC(Garbage Collection)MRC:手动内存管理。ARC自动内存管理 GC:垃圾回收。MRR:MRC的官方名字24. AddressBook框架中常用类()A.ABAddressBookB.ABPersonC.ABGroupD.ABRecord25. AddressBookUI框架中的视图控制器(A)A.ABPeoplePickerNavigationControllerB.ABPersonViewControllerC.ABNewPersonViewControllerD.ABUnknownPersonViewController只要是UIViewController都是视图控制器。关键是是否存在于AddressBookUI中查api知有ABPeoplePickerNavigationController,ABPersonViewController,ABNewPersonViewController,ABUnknownPersonViewController26. 创建联系人使用的函数有哪些(ABCD)A.ABPersonCreateB.ABRecordSetValueC.ABMultiValueCreateMutableD.ABAddressBookSave27. 修改联系人使用的函数有哪些(C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论