Objective-C测试题

Objective-C考试 [关闭] ※ 选择题(共80题,每题1分)1、OC中布尔(BOOL)类型的变量的值只有:A、1/0B、YES/NOC、true/falseD、1/-12、关于KVC的描述正确的是:A、KVC是指"Key-Value Observing"B、是一种间接访问对象的属性的机制。C、只能访问对象的属性。D、当对象的属性值改变时,我们能收到一个通知。3、NSDat
摘要由CSDN通过智能技术生成

Objective-C测试题(共80题)

1、OC中布尔(BOOL)类型的变量的值只有:
A、1/0
B、YES/NO
C、true/false
D、1/-1

2、关于KVC的描述正确的是:
A、KVC是指"Key-Value Observing"
B、是一种间接访问对象的属性的机制。
C、只能访问对象的属性。
D、当对象的属性值改变时,我们能收到一个通知。

3、NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setAMSymbol:@"AM"];
[formatter setPMSymbol:@"PM"];
[formatter setDateFormat:@"YY-MM-dd hh:mm:ss aaa"];
NSString * currentDate = [formatter stringFromDate:[NSDate date]];
NSLog(@"%@",currentDate);
打印结果是:
A、2012-05-31 17:45:04 PM
B、12-05-31 17:45:04
C、2012-05-31 17:45:04
D、12-05-31 05:45:04 PM

4、用哪个关键字定义协议中必须实现的方法:
A、@optional
B、@protected
C、@private
D、不用写关键字

5、现有如下集合,能准确删除“张三”的代码是:
NSMutableDictionary * peoples=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"张三",@"左护法",@"李四",@"右使",@"唐sir",@"老大哥", nil];
A、[peoples removeObjectForKey:@"左护法"];
B、[peoples removeObject:@"张三"];
C、[peoples removeObjectAtIndex:0];
D、[peoples removeAllObjects];

6、声明一个方法:提供Student对象数组按照学号升序排列的判断条件:
A、-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent
B、-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent
C、- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent
D、+(int)compareWithNumberForAscendSort:(Student

7、关于类目、延展的描述错误的是:
A、延展主要为类提供“私有”方法
B、类目、延展不但能为类添加方法,而且都可以添加新的实例变量
C、无论能否拿到类的源码,类目都可以对其扩展
D、类目和延展声明语法不同

8、向Xcode控制台输出一个字符串应该用:
A、NSLog()
B、Printf()
C、NSPrintf()
D、scanf()

9、类何时调用dealloc方法:
A、[property release]后
B、[instance release]后
C、[super dealloc]时
D、当引用计数为0时.

10、写出下面程序段的输出结果:
NSString * aString = [[NSString alloc] initWithString:@"123"];
[aString autorelease];
NSMutableArray * arr = [NSMutableArray array];
[arr addObject:aString];
NSLog(@"string = %lu",[aString retainCount]);
A、1
B、0
C、整型最大值
D、2

11、在OC中,类的定义包括两部分(声明与实现),其中实现部分是:
A、@import
B、@interface
C、@implementation
D、@protocol

12、下面程序段的输出结果是什么:
NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];
[dic setObject:@"1" forKey:@"3"];
[dic removeObjectForKey:@"1"];
NSLog(@"%@",dic);
A、1=3 2=3 3=4
B、1=2 1=3 3=4
C、2=1 3=1 4=3
D、3=1 3=2 4=3

13、以下代码执行后,person对象的retain count是多少:
Person * person = [[Person alloc] init];
[person retain]; [person release];
A、0
B、1
C、2
D、3

14、协议与委托的描述不正确的是:
A、委托是iOS的一种设计模式
B、协议里的方法默认是必须实现的
C、类接受了多个协议,这些协议写在父类后面的<>内,多个协议之间用“、”隔开
D、定义协议使用@protocol关键字

15、下列有效的键路径是:
A、[foo valueForKeyPath:@”1SomeMember”]
B、[foo valueForKeyPath:@”someMember.someAttribute”]
C、[foo valueForKeyPath:@”SOMEMEMBER@someAttibute”]
D、[foo valueForKeyPath:@”some Member”]

16、下面程序段的输出结果是什么:
NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4", nil];
[dic removeObjectForKey:@"3"];
NSLog(@"%@",dic);
A、1=2 3=4
B、1=2 2=3
C、2=1 4=3
D、2=1 3=2

17、下面关于类概念的描述中,错误的是:
A、类是抽象数据类型的实现
B、类是具有共同行为的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值