UI基础考试题(带答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UI基础单选题库一、选择题(每题4分)1.下面哪个不是按钮(Button)的状态?A.normalB.highlightedC.disabledD.touchInside参考答案:D2.下面哪一个是其中三个类的父类?A.UIButtonB.UILabelC.UIViewD.UIImageView参考答案:C3.下面哪一个不是确定控件位置的属性?A.frameB.CGRectC.boundsD.center参考答案:B4.在4英寸Retina屏幕的设备上,一个点是一个()的格子?A.1像素*2像素B.1像素*1像素C.2像素*2像素D.2像素*1像素参考答案:C5.所有可以触发操作方法的iOS控件都是()的子类。A.UIViewB.UIControlC.NSResponderD.UIResponder参考答案:B6.在UIKit中,frame与bounds的区别是?A.frame是bounds的别名B.frame是bounds的继承类C.frame的参考系是父视图坐标,bounds的参考系是自身的坐标D.frame的参考系是自身坐标,bounds的参考系是父视图的坐标参考答案:C7.UIButton和UIImageView的说法正确的是?A.默认都能显示图片B.默认都能显示文字C.默认都能响应事件D.以上说法都是正确的参考答案:A8.如果UIScrollView无法滚动,以下原因哪个是不正确的?A.没有取消autolayout功能B.没有接收到触摸事件:userInteractionEnabled=NOC.scrollEnabled=YESD.没有设置contentSize参考答案:C9.下面那个不是UITableView数据源方法?A.-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView;B.-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath;C.-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath;D.-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section;参考答案:B10.关于字典转模型不正确的是?A.字典转模型的后,性能会大大提升B.防止因为字典的Key写错导致加载数据出错C.模型的属性写错编译器会直接报错D.使用模型访问属性,编译器会给相应的提示,提高开发效率。参考答案:A11.关于instancetype和id描述不正确的是?A.instancetype和id意义相同B.linstancetype在类型表示上,跟id一样,可以表示任何对象类型C.linstancetype只能用在返回值类型上,不能像id一样用在参数类型上D.linstancetype比id多一个好处:编译器会检测instancetype的真实类型参考答案:A12.关于UIbutton下面描述错误的是?A.UIbutton的title可以直接进行赋值改变B.UIbutton的背景图片会填充整个button的区域,图片会拉伸C.UIbutton设置iamge属性的时候,图片不会占据整个buttonD.UIbutton设置属性的时候如果直接赋值可能没有效果,最好通过setter方法设置,并且指定状态.参考答案:A13.关于懒加载,下列描述错误的是?A.懒加载其实就是getter方法B.不调用一个属性的getter,懒加载就会失效C.调用带下划线的属性可以触发懒加载方法D.懒加载其实就是使用时再加载.参考答案:C14.在使用tableview的时候,数据源方法-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath;没有调用,下列有可能导致的因素有?(1).没有设置数据源为当前控制器(2).-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section;方法返回值为0;(3).没有实现-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView;(4).没有手动强引用tableviewA.(1)(2)B.(1)(3)C.(1)(4)D.(3)(4)参考答案:A15.关于UItableviewCell的重用原理,正确的是?A.不管有多少个cell,只创建一个cell进行重用B.只有当缓存池里面的cell不能满足重用的时候才会创建新的cell用于显示C.cell创建后就会自动进入缓存池中D.缓存池中的同一个cell是同时可以被显示多次的参考答案:B二、简答题1.请详细回答strong/weak/assign/copy关键字的作用与区别(10分)参考答案:strong一般在ARC中用于除NSString/block之外的OC对象weak在ARC中当指针不需要对对象强引用时使用weak.ARC中当两个对象具有互相拥有的关系时,应该一端用strong,一端用weakassign在ARC中一般用于基本数据类型.在MRC中如果两个对象具有相互拥有的关系时,应该一端用retain,一端用assigncopy一般用于NSString和block.2.NSString对象作为属性时为什么推荐使用copy关键字修饰,什么时候可以用strong修饰呢?(10分)参考答案:为了防止NSMutableString被无意中修改,NSMutableString是NSString的子类,因此NSString指针可以持有NSMutableString对象.当该属性真实类型就是NSString时,完全可以使用strong来修饰.三、编程题(20分)见附件

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功