@Rookie
2017-07-28T14:29:39.000000Z
字数 3337
阅读 1169
未分类
1.下列关于自定义cell的步骤叙述错误的是?
A、创建一个类继承于UITableViewCell。
B、实现UITableView的初始化方法
C、确保所有的你想添加的子视图都在自定义Cell的初始化方法中创建
D、在Cell的子视图创建成功后,将子视图设置为属性
答案:B
2.UITableViewController是继承于UIViewController中的一个类,只不过比UIViewController中多了哪个属性?
A、scrollView
B、UIView
C、UIScrollView
D、tabelView
答案:D
3.自定义segue继承自那个类?修改跳转动画要重写哪个方法?
A、UIStoryboardSegue prepare方法
B、UIStoryboardSegue sender方法
C、UIStoryboardSegue identifier方法
D、UIStoryboardSegue perform方法
答案:D
4.GUI的全称是
A、Graphical User Interface
B、Grammer User Interface
C、Graph User Interface
D、Guide User Interface
答案:A
5.segue有三个重要属性分别是
A、controller、view、目标控制器。
B、标识符、view、目标控制器。
C、标识符、源控制器、目标控制器。
D、controller、源控制器、目标控制器。
答案:C
6.storyboard界面间跳转会执行
A、segueForPrepare
B、prepareForStoryBoard
C、segueForStoryboard
D、prepareForSegue
答案:D
7.对于UIScrollView,监控目前滚动的位置的属性是:
A、contentOffSet
B、contentSize
C、contentInset
D、scrollIndicatorInsets
答案:A
8.以下哪个控件不是继承于UIControl
A、UIButton
B、UITextField
C、UISlider
D、UITextView
答案:D
9.关于OC内存管理方面说法错误的是:
A、OC中的内存管理采用引用计数机制
B、autorelease pool 是OC中一种自动的垃圾回收机制
C、alloc
D、new或copy来创建一个对象,那么你必须调用release或autorelease
答案:B
10.下面关于深拷贝与浅拷贝理解正确的是:
A、深拷贝拷贝的是内容,浅拷贝拷贝的是指针
B、深拷贝和浅拷贝最大的区别就是子类对象的地址是否改变。
C、深拷贝是对对象本身复制,但是不对对象的属性进行复制。
D、如果子类对象的地址改变那么就是深拷贝。
答案:A
11.以下关于视图的frame与bounds的理解错误的是:
A、bounds是指这个view在window坐标系的坐标和大小
B、frame指的是这个view在它superview的坐标系的坐标和大小
C、frame和bounds是UIView中的两个属性(property)。
D、bounds是以自身左上角的点为原点的坐标系,frame是以父视图左上角的点为原点的坐标系。
答案:A
12.在MVC框架中,M与C通讯,通常使用什么方式?
A、KVO与通知
B、协议-代理
C、类目
D、属性
答案:A
13.当程序从后台将要重新回到前台的时候,会先执行以下哪个方法:
A、-(void)applicationDidFinishLaunching:(UIApplication*)application{ }
B、- (void)applicationWillEnterForeground:(UIApplication *)application{ }
C、- (void)applicationDidBecomeActive:(UIApplication *)application{ }
D、- (void)applicationWillTerminate:(UIApplication *)application{ }
答案:B
14.以下的代码会出现什么问题:
@implementation Person
- (void)setAge:(int)newAge {
self.age = newAge;
}
@end
A、会造成循环引用
B、会造成死循环
C、会出现内存泄露
D、会出现野指针
答案:B
15.对于UIScrollView,scrollView将开始降速时,执行的方法是:
A、- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;{ }
B、- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;{ }
C、- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;{ }
D、- (void)scrollViewWillBeginDecelerating:
答案:D
16.已知数据元素为(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的右孩子
17.输入序列是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
18.能够匹配 [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位的用户密码,以字母开头,包含字母、数字、下划线的组合
19.下面程序段的输出结果是什么:
int a = 10;
NSNumber *b = [[NSNumber alloc] initWithInt:a];
NSLog(@"%d", a+++b);
A.21
B.20
C.30
D.编译错误
答案:(D)
// 输出时类型不匹配,b是一个对象
20.以下哪一段代码不会抛出异常()
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错 因为下标越界。