自己在OC考试中的试题
Objective-C考试 [关闭]
- 1、
答案:(C)
- A、alloc,retain,release,dealloc都会使对象的引用计数变化
- B、属性就是实例变量加上点语法
- C、类目可以为所有的类添加新方法
- D、类目不能随意使用
- 2、
NSCountedSet * set3 = [NSCountedSet setWithObjects:@"123",@"456",@"789",@"123", nil];
NSLog(@"%lu",[set3 countForObject:@“123"]);
打印的是:
答案:(C)
- A、1
- B、123
- C、2
- D、0
- 3、
答案:(C)
- A、堆区
- B、栈区
- C、常量区
- D、静态区
- 4、
答案:(D)
- A、实例方法
- B、backName表示方法名
- C、(void )表示返回值类型为空
- D、类方法
- 5、
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"wangwu",@"name",@"man",@"sex", nil];
NSLog(@"dict = %@“,dict);
控制台打印的是:
答案:(A)
- A、name = wangwu;sex = man
- B、name = man;sex = wangwu
- C、name = wangwu;man = sex
- D、wangwu = name;sex = man
- 6、
答案:(D)
- A、类是抽象数据类型的实现
- B、类是具有共同行为的若干对象的统一描述体
- C、类是创建对象的模板
- D、类就是C语言中的结构体类型
- 7、
答案:(D)
- A、2个参数
- B、没有参数
- C、1个类型为Void的参数
- D、1个类型为Fraction*的参数
- 8、
答案:(A)
- A、- (void)removeObjectAtIndex:(NSUInteger)index
- B、- (void)removeLastObject
- C、- (void)addObject:(ObjectType)anObject
- D、- (void)removeAllObjects
- 9、
答案:(C)
- A、委托是iOS的一种设计模式
- B、协议里的方法默认是必须实现的
- C、类遵守了多个协议,这些协议写在父类后面的<>内,多个协议间用、隔开
- D、定义协议使用@protocol关键字
- 10、
答案:(A)
- A、@property(nonatomic,retain)NSString * myString
- B、@property(nonatomic,assign)NSString * myString
- C、@property(nonatomic,assign)int *myNumber
- D、@property(nonatomic,retain)int myNumber
- 11、
答案:(A)
- A、只声明getter方法,无setter方法
- B、只声明setter方法,无getter方法
- C、既有getter方法,也有setter方法
- D、没有getter方法,也没有setter方法
- 12、
答案:(B)
- A、NSDateNowTime.h
- B、NSString+SayHi.h
- C、SayHi+NSString.h
- D、NowTime.h
- 13、
NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"lisi",@"name",[NSNumber numberWithInt:20],@"age", nil];
[mutableDic setObject:@"89" forKey:@"num"];
NSLog(@"mutableDic4 = %@“,mutableDic);
控制台打印是:
答案:(B)
- A、name = lisi;num = 89
- B、age = 20;name = lisi;num = 89
- C、age = 20;name = lisi
- D、age = 20
- 14、
答案:(C)
- A、返回最后一个元素
- B、获取集合元素个数
- C、获得index位置的元素
- D、是否包含某一个元素
- 15、
答案:(A)
- A、
- (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
self = [super init];
if(self) {
_name = name;
_age = age;
}
return self;
} - B、
- (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
_name = name;
_age = age;
} - C、
- (void)initWithName:(NSString*)name age:(NSInteger)age{
_name = name;
_age = age;
return self;
} - D、
+ (instancetype)initWithName:(NSString*)name age:(NSInteger)age{
self.name = name;
self.age = age;
return self;
}
- 16、
NSMutableDictionary *mutableDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"name",[NSNumber numberWithInt:20],@"age", nil];
[mutableDic setValue:@"nil" forKey:@"age"];NSLog(@"mutableDic3 = %@“,mutableDic);
打印的是:
答案:(D)
- A、name = zhangsan
- B、age = nil
- C、age = 12;name = zhangsan
- D、age = nil; name = zhangsan
- 17、
答案:(B)
- A、实例对象是通过点出来的
- B、实例对象都是通过调用类方法alloc生成的
- C、实例对象都是自动生成的
- D、实例对象都是通过调用实例方法生成的
- 18、
答案:(C)
- A、类的接口部分可以包含实例变量、属性和方法
- B、可以把声明和实现都放到.h文件中
- C、一对文件(Person.h Person.m)只能定义一个类
- D、类比较抽象,对象比较具体
- 19、
答案:(D)
- A、NSString是不可变字符串,即本身内容不能被改变
- B、NSMutableString是可变字符串,即本身内容可修改
- C、NSMutableString是NSString的子类
- D、NSString和NSMutableString没有任何关系
- 20、
-(void) sayHi{
NSLog(@"大家好。");
}
关于该方法,叙述错误的是
答案:(A)
- A、这是一个类方法
- B、方法名为sayHi
- C、返回值为void
- D、NSLog(@"大家好。");与C语言的printf方法一样。OC中,在每一个字符串前,都要加上@
- 21、
答案:(B)
- A、类目可以为所有的类添加新方法
- B、类目中添加的方法比原类中定义的方法级别要低 //级别要比原来的高,因为可以覆盖
- C、定义协议要使用关键字@protocol
- D、定义一个协议后,任何类都可以遵循这个协议
- 22、
NSMutableArray *array = @[@"bob", @"steve", @"john"]; //没有mutableCopy
[array addObject:@“Peter"];
NSLog(@“%@”,array);
运行结果是:
答案:(B)
- A、bob,steve,john
- B、程序崩溃
- C、bob,steve,john,Peter
- D、steve,john
- 23、
NSString * aString = [[NSString alloc] initWithString:@"123"];
[aString autorelease];
NSMutableArray * arr =
[NSMutableArray array];
[arr addObject:aString];
NSLog(@"string = %lu",[aString retainCount])
答案:(C)
- A、1
- B、0
- C、整型最大值
- D、2
- 24、
答案:(B)
- A、遍历出来的元素可以基本数据类型;
- B、遍历出来的元素只能为对象类型;
- C、 至少要遍历一次; //遍历过程中可以终止
- D、遍历集合的过程中可以删除集合中元素 //不可以,会发生错误
- 25、
答案:(C)
- A、求数组的内容个数用length方法
- B、字典是根据其位置来索引数据的
- C、协议中定义的方法默认是必须实现的
- D、字符串只有NSString不可变字符串这一种
- 26、
答案:(A)
- A、继承
- B、多态
- C、封装
- D、Block
- 27、
答案:(B)
- A、字符串的拷贝都是深拷贝;
- B、可变字符串的拷贝都是深拷贝;
- C、不可变字符串的拷贝都是深拷贝;
- D、不可变字符串的拷贝都是浅拷贝
- 28、
NSArray *arr = [NSArray arrayWithObjects:@“a1",@"a5",@"c4",@"l9",@"o0", nil];
NSComparator sortString = ^(id arr1,id arr2){ return [arr1 compare: arr2]; //block
};
NSArray *array = [arr sortedArrayUsingComparator:sortString];
NSLog(@“%@“,array) ;
打印出的是:
答案:(A)
- A、a1,a5,c4,l9,o0
- B、c4,a5,a1,l9,o0
- C、a1,a5,c4,o0,l9
- D、a5,a1,c4,l9,o0
- 29、
答案:(A)
- A、release
- B、autorelease
- C、retain
- D、alloc
- 30、
答案:(A)
- A、- (NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent
- B、- (NSComparison)compareWithNumberForAscendSort:(Student*)otherStudent
- C、- (BOOL))compareWithNumberForAscendSort:(Student*)otherStudent
- D、+ (int)compareWithNumberForAscendSort:(Student*)otherStudent
- 31、
答案:(D)
- A、@end
- B、@interface
- C、@implementaion
- D、@property
- 32、
答案:(D)
- A、代理是基于OC来实现的,他将实现的细节掩藏
- B、代理模式中可以根据不同的情况让不同的类去当代理,只要代理对象遵守代理协议即可
- C、代理让程序更具有扩展性,也减少了程序的复杂度
- D、任何类都可以当代理 //遵循这个协议
- 33、
答案:(D)
- A、数组中的对象
- B、便利构造器创建的对象
- C、字典中的对象
- D、以上都是
- 34、
答案:(D)
- A、该方法是属于NSString的方法
- B、该方法是属于NSDictionary的方法
- C、该方法是删除NSString内所有的元素
- D、这是NSArray的方法, 用separator作拼接符将数组元素拼接成一个字符串
- 35、
答案:(B)
- A、在首部添加空格
- B、去除所有空格
- C、去除首尾空格
- D、在尾部添加空格
- 36、
答案:(C)
- A、0
- B、1
- C、3
- D、不确定
- 37、
答案:(C)
- A、内存泄露
- B、过度释放
- C、方法没实现
- D、都不是
- 38、
答案:(B)
- A、
- (void)setName:(NSString *)name{
if(_name != name){
[_name release];
_name = [[name copy] autorelease];
}
} - B、
- (void)setName:(NSString *)name{
if(_name != name){
[_name release];
_name = [name copy];
}
} - C、
- (NSString *)name{
return [[_name copy]autorelease];
} - D、
- (NSString *)name{
return [_name copy];
}
- 39、
答案:(A)
- A、1,-1
- B、1,1
- C、1,0
- D、-1,1
- 40、
+ (id)studentWithName:(NSString *)name
sex:(NSString *)sex
age:(NSInteger)age
school:(NSString *)school
number:(NSInteger)number;
.m文件中如何实现?
答案:(A)
- A、
+ (id)studentWithName:(NSString*)name
sex:(NSString*)sex
age:(NSInteger)age
school:(NSString*)school
number:(NSInteger)number
{
Student* stu = [[Student alloc] initWithName:name sex:sex age:age school:school number:number];
return stu;
} - B、
+ (id)studentWithName:(NSString*)name
sex:(NSString*)sex
age:(NSInteger)age
school:(NSString*)school
number:(NSInteger)number
{
Student* stu = [[Student alloc] initWithName:name sex:sex age:age school:school number:number];
} - C、
+ (id)studentWithName:(NSString*)name
sex:(NSString*)sex
age:(NSInteger)age
school:(NSString*)school
number:(NSInteger)number
{
Student* stu = [Student initWithName:name sex:sex age:age school:school number:number];
return stu;
} - D、
+ (id)studentWithName:(NSString*)name
sex:(NSString*)sex
age:(NSInteger)age
school:(NSString*)school
number:(NSInteger)number
{
Student* stu = [alloc initWithName:name sex:sex age:age school:school number:number];
return stu;
}
- 1、
答案:(F)
- 正确
- 错误
- 2、
答案:(T)
- 正确
- 错误
- 3、
答案:(F)
- 正确
- 错误
- 4、
答案:(T)
- 正确
- 错误
- 5、
答案:(F)
- 正确
- 错误
- 6、
答案:(T)
- 正确
- 错误
- 7、
答案:(T)
- 正确
- 错误
- 8、
答案:(F)
- 正确
- 错误
- 9、
答案:(T)
- 正确
- 错误
- 10、
答案:(T)
- 正确
- 错误
自己在OC考试中的试题的更多相关文章
- iOS开发(OC)中的命名规范
开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结 ...
- OC项目中使用Swift
1.在OC工程中新建 Swift 文件,会提示的是否创建一个桥接文件,创建不创建都无所谓,这个桥接文件主要是用来包含OC头文件的,主要用于Swift中使用OC 2.在Person.sw ...
- 2014年同年CFA考试中哪些CFA资料没有变化?
从2014年起,美国CFA协会将官方教材.题库.模拟题等CFA资料捆绑在报名费用之中,而以往可以单独选购的纸质版教材也变成了额外购买.这让非常多參加12月的CFA考生产生了借阅6月考生CFA资料的想法 ...
- 在Swift项目中使用OC,在OC项目中使用Swift
几天前,我开始新的App的开发了.终于有机会把swift用在实战中了,也学到了之前纯学语法时没有机会获得的知识. 这篇博文中,我就如何使用swift.OC混编做一个介绍. OC中使用Swift 首先, ...
- 在OC代码中创建Swift编写的视图控制器
背景 近日在和一群朋友做项目,我和另一位同学负责iOS客户端,我是一直使用OC的,而他只会Swift,因此在我们分工协作之后,就需要把代码合在一起,这就牵扯到如何在TabbarController中添 ...
- 将React Native 集成进现有OC项目中(过程记录) 、jsCodeLocation 生成方式总结
将RN集成到现有OC项目应该是最常见的,特别是已经有OC项目的,不太可能会去专门搞个纯RN的项目.又因为RN不同版本,引用的依赖可能不尽相同,所以特别说明下,本文参考的文档是React Native ...
- 在OC项目中实现swift与oc混编 相互引用
--------------------------------------------------------Begin--------------------------------------- ...
- oc工程中oc、swift混编代码打包成静态framework踩坑笔记
参考资料: https://www.jianshu.com/p/734341f7c242 https://www.jianshu.com/p/55038871e7de 两天时间探索,期间不知道遇到 ...
- OC对象中的getter方法中不能用self.
@interface boy:NSObject { int _age; } - (void)setAge:(int)age; - (int)age; @end @implementation boy ...
随机推荐
- Rotate Array
Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array ...
- Laxcus大数据管理系统2.0(5)- 第二章 数据组织
第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...
- 边工作边刷题:70天一遍leetcode: day 71-1
Longest Substring with At Most K Distinct Characters 要点:要搞清楚At Most Two Distinct和Longest Substring W ...
- 项目回顾2-vue的初体验-在已有项目局部使用vue,无须额外配置
当了解到尤大大的vue的时候,就很想在项目里用一下,不过当用了vue cli 创建了一个脚手架之后,感觉现有的项目改造难度太大了,毕竟原来是JQ的.这个项目已经上线,基本功能也完成了,客户提出来后台对 ...
- Google Map API 使用总结
Google Map API (一):显示一个最基本的地图 1 实现一个地图:<head>中引用: <script type="text/javascript" ...
- Codeforces Round #FF/#255 D DZY Loves Modification --贪心+优先队列
题意:给你一个矩阵,每次选某一行或者某一列,得到的价值为那一行或列的和,然后该行每个元素减去p.问连续取k次能得到的最大总价值为多少. 解法: 如果p=0,即永远不减数,那么最优肯定是取每行或每列那个 ...
- java 21 - 1 IO流中的字符流概述
字节流通过读取一个byte数组的方式可以读取中文的,但是有可能出现小问题,所以,读取中文最好是用字符流. 字符流: 字符流=字节流+编码表. 编码表: 由字符及其对应的数值组成的一张表 编码表介绍: ...
- ArcGis实现添加MultiLayerMarkerSymbol(多个符号叠加生成新的符号)
, , ); pMarkerSymbol.Angle = ; pMarkerSymbol.XOffset = ;;;;, , ); ...
- 异常:NSException和NSAssert的简单使用
//断言 - (void)NSAssert_Test:(NSString *)string{ NSAssert(string == nil, @"string == kong or nil& ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...