@Rookie
2017-07-28T14:30:37.000000Z
字数 3554
阅读 1148
未分类
1.下列有关UICollectionView的说法正确的是()。
A、UICollectionView是对UITalbeVIew的一种扩充,是一种特殊形态的UITableView,所以前者是后者的子类
B、UIcollectionView的增补视图只能设置在分区的头上
C、UICollectionView的增补视图高度不能大于其item的高度
D、UICollectionReusableView继承于UIView,它是一个UIView的子类
答案:D
2.在使用xib和storyBoard创建GUI过程中,以__文件格式存储在Xcode中,编译时生成__的二进制文件。在运行时,____文件被加载并且开始创建和实例化GUI元素
A、XML nib nib
B、nib XML nib
C、Xib nib nib
D、XML Xib Xib
答案:A
3.storyBoard怎么传值
A、- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
B、- (NSString *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
C、- (NSArray *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
D、- (NSDictionary *)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {}
答案:A
4.segue的三个重要属性
A、cell、sourceViewController、destinationViewController
B、identifier、source、destinationViewController
C、identifier、sourceViewController、destinationViewController
D、identifier、sourceViewController、Controller
答案:C
5.监测滚动视图滚动到什么位置的时候,我们需要使用下面哪个属性
A、bounces
B、contentSize
C、contentOffset
D、decelerationRate
答案:C
6.以下哪个控件不是继承于UIControl
A、UIButton
B、UITextField
C、UISlider
D、UITextView
答案:D
7.关于手势说法正确的是。
A、手势是基于触摸事件的
B、轻点手势中numberOfTapsRequired表示需要几个指头触发
C、numberOfTouchesRequired表示需要点几次
D、以上都对
答案:A
8.对于响应者的说发正确的是。
A、所有继承自UIResponder的类的对象都能作为响应者
B、所有继承自NSObject的类的对象都能作为响应者
C、想成为响应者必须手动设置
D、以上都不对
答案:A
9.控制器加载的时候下面方法调用的顺序是: 1.viewDidLoad 2.viewWillAppear 3.viewDidAppear 4.loadView
A、4,1,2,3
B、1,4,2,3
C、1,2,3,4
D、2,3,4,1
答案:A
10.对于MV的理解正确的是()。
A、Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
B、View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
C、Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
D、以上都对。
答案:D
11.使用imageNamed方法创建UIImage对象时.与普通的init方法有什么区别()。
A、没有区别,只是为了方便
B、imageNamed方法只是创建了一个指针,没有分配其他内存
C、imageNamed方法将图片加载到内存中后不再释放
D、imageNamed方法将使用完图片后立即释放
答案:C
12.UIApplicationMain在程序入口函数main函数中调用,不属于它实现的功能是()。
A、创建应用程序(UIApplication)实例
B、创建应用程序代理(AppDelegate)实例
C、是iOS应用程序的起始点,并负责初始化和显示UIWindow
D、建立事件循环(runloop:死循环,不断检测程序运行状态,是否被触摸、晃动等)
答案:C
13.NSRunLoop的以下描述错误的是()
A.Runloop并不是由系统自动控制的
B.有3类对象可以被run loop监控:sources,timers,observers
C.线程是默认启动run loop的
D.NSTimer可手动添加到新建的NSRunLoop中
C (正确)
- 只有主线程默认启动run loop,子线程等需要手动启动,且在特定的场景下需要启动:需要使用NSTimer等。
14.已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为()
A.7
B.6
C.4
D.5
D(正确)
根据二叉排序树的性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
所以根据性质:第一个数34为根节点;
第二个树:76>34,所以为34的右孩子;
第三个数45:因为34<45<76,所以45为76的左孩子;
第4个数18:18<34所以为根节点的左孩子;
第五个数26:因为18<26<34,所以26在根节点的左子树上且为节点18的右孩子;
第六个数54:因为54>34,所以在根节点的右子树上,又45<54<76,所以54为45的右孩子;
第7个数92:因为92>76>34,所以92为76的右孩子;
第8个数65:首先64>34,所以为右子树上的节点,又65<76,所以为76左子树上的节点,又65>54>45,所以为54的右孩子
15.输入序列是ABC,输出序列变为BCA时,经过的栈操作为()
A.push,push,push,pop,pop,pop
B.push,push,pop,push,pop,pop
C.push,pop,push,push,pop,pop
D.push,push,pop,pop,push,pop
正确答案: B
16.以下哪一段代码不会抛出异常()
A.NSArray *array=@[1,2,3];NSNumber * number=array[3];
B.NSDictionary *dict=@{@"key":nil};
C.NSString *str=nil;NSString *str2=[str substringFromIndex:3];
D.NSString *str=@"hi";NSString *str2=[str substringFromIndex:3];
正确答案: C
A错 因为数组下标越界,下标从0~2有三个元素,下标3已经不在这个范围
B错 因为字典和数组中对于nil有特殊的含义,它表示元素个数的终止标记,不会被保存进字典或数组,要表示空可以使用[NSNull null]对象代替nil
C正确 因为向nil发送的任何消息都不会被响应也不会报错
D错 因为下标越界。
17.实现多线程都有哪几种方法?()
A.使用@synchronized(self)
B.使用GCD
C.使用NSOperationQueue
D.使用@thread
正确答案: B C
18.关于浅复制和深复制的说法,下列说法正确的是()
A.浅层复制:只复制指向对象的指针,而不复制引用对象本身。
B.深层复制:复制引用对象本身。
C.如果是浅复制,若类中存在成员变量指针,修改一个对象一定会影响另外一个对象
D.如果是深拷贝,修改一个对象不会影响到另外一个对象
正确答案: A B C D
19.能够匹配 `[a-zA-Z]([a-zA-Z]|\d|_){7,9}` 此正则表达式的字符串是 ()
A.TTON.CO.123
B.TTON_CO
C.TTON_CO123
D.TTON_CO.TTON.CO123
正确答案: C
长度为8-10位的用户密码,以字母开头,包含字母、数字、下划线的组合
20.关于NSOperation queue的说法,正确的是?()
A.主要用于多线程并发处理
B.它是一个队列,有严格的先进先出
C.它不会遵守严格的先进先出
D.NSOperationQueue可以通过调整权重来调整队列的执行顺序
正确答案: A C D
```