[iOS笔试600题]一、语法篇(共有147题)
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9802339.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
【A】1. @property 的作用是申明属性及真特性?[判断题]
A.正确
B.错误
【A】2. @synthesize的作用是自动笠成属性的访问器(getter/setter)方法?[判断题]
A.正确
B.错误
【A】3. 代理 (delegate) 的作用是让一个对象实现另外一个对象的方法?[判断题]
A.正确
B.错误
【A】4. #import和#includ1 的区别是:#import可以避免文件被多次引用?[判断题]
A.正确
B.错误
【B】5.在Objective-C 中是否支持运算符重载 ?[判断题]
A 是
B. 否
【B】6. 在Objective-C 中能否在头文件里申 明私有方法?[判断题]
A. 可以
B. 不可以
【A】7. Block不允许修改外部变量的值?[判断题]
A.正确
B.错误
【A】8. Swift布尔类型的值只能是true或者false? [判断题]
A.正确
B.错误
【B】9. Swift语言可以像C语言那样,用非0表示true,用表示false? [判断题]
A.正确
B.错误
【B】10. Swift语言可以像Objective-C那样,使用YES表示true,使用NO表示false? [判断题]
A.正确
B.错误
【A】11. Swift的continue语句,用来告诉用户一个循环体停止本次的循环,并立即进入下次的循环。[判断题]
A.正确
B.错误
【B】12. 在Swift环境中,无法为函数的参数设置默认值。[判断题]
A.正确
B.错误
【A】13. Swift语言支持将函数作为另一个函数的返回类型?[判断题]
A.正确
B.错误
【A】14. Swift语言支持将函数作为另一个函数的参数?[判断题]
A.正确
B.错误
【B】15. Swift语言中的函激无法同时返回个值?[判断题]
A.正确
B.错误
【A】16. 在Swift环境中,可以为类 、结构体和枚举等类型定义静态方法 ?[判断题]
A.正确
B.错误
【A】17. 在为结构体和枚举定义静态方法时,可以使用static关键字?[判断题]
A.正确
B.错误
【A】18. 在为类定义静态方法时 ,可以使用class关键字?[判断题]
A.正确
B.错误
【A】19. Swift和Objective-C一样是通过 自动引用计数 (ARC) 技术,来实现对实例的内存管理的?[判断题]
A.正确
B.错误
【A】20. 在Swift环境中,类的继承不同于结构体和枚举类型,继承是类所特有的?[判断题]
A.正确
B.错误
【A】21. Swift的延迟加载属性是指当第一次被调用的时候,才会对真进行初始化操作的属性?[判断题|
A.正确
B.错误
【B】22. 在Swift环境中,元组、枚举相结构属于引用类型,而类则属于值类型?[判断题]
A.正确
B.错误
【A】23. 类型检查在Swift中,是使用is相as操作符来实现的?[判断题]
A.正确
B.错误
【A】24. Swift语言中的AnyObject ,可以代表任何class类型的实例?[判断题]
A.正确
B.错误
【A】25. Swift语言中的Any可以表示任何类型,除了方法类型 (function types) ? [判断题]
A.正确
B.错误
【A】26. Swift中的扩展功能 (Extension ) ,可以在没有权限获取原始源代码的情况下,扩展某个类型的功能?[判断题]
A.正确
B.错误
【A】27. 现有的类、结构 我枚举类型的方法,都可以在扩展的帮助下进行添加?[判断题]
A.正确
B.错误
【A】28. 在Swift语言中,类型的功能可以使用扩展加入 ,但重写的功能不能使用扩展?[判断题]
A.正确
B.错误
【B】29. 类,结构体和枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能?[判断题]
A.正确
B.错误
【A】30. Swift没有Objecti1ve-C 中的#define、一OPTIMIZE一宏定义方法?[判断题]
A.正确
B.错误
【A】31. Objective-C 中的头文件和实现文件,请问.h文件类似C++中的.h文件,.m文件类似.cpp文件?I[判断题]
A.正确
B.错误
【A】32. Objective-C语言可以相C、C++混合编程吗?[判断题]
A. 可以
B. 不可以
【A】33. Objective-C只有单一继承,没有多重继承?[判断题]
A.正确
B.错误
【A】34. 如果Category相原始类中的方法名称冲突,则Category将覆盖原始类的方法,因为Category具有更高的优先级?[判断题]
A.正确
B.错误
【A】35. 无法向Category 中添加实例变量吗?[判断题]
A.正确
B.错误
【A】36. Swift 中枚举可以有初始化方法 、也可以添加函数?[判断题]
A.正确
B.错误
【A】37. Swift 中的结构体可以添加函数、扩展,和实现 protocol[判断题]
A. 可以
B. 不可以
【B】38. Swift 中字符串、数组相字典是以结构体的形式实现的,还是以类的形式实现的?[判断题]
A 类
B. 结构体
【A】39. Swift 中的 Array 、Diction町、String 都是结构体,传递时会进行拷贝,而不会改变原有的值吗?[判断题]
A.是的
B.不是
【B】40. 使用runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?[判断题]
A. 需要
B. 不需要
【B】41. 可以向编译后得到的类中增加实例变量?[判断题]
A. 可以
B. 不可以
【A】42. 可以向运行时创建的类中添加实例变量?[判断题]
A. 可以
B. 不可以
【B】43. 闭包是值类型还是引用类型的?[判断题]
A. 值类型
B. 引用类型
【B】44. weak属性需要在dealloc设置为nil吗?[判断题]
A.需要
B.不需要
【B】45. 在Objective-C 中,向nil对象发送消息会导致crash吗?[判断题]
A.会
B.不会
【A】46. Objective-C的lmlld相initialize方法只会被调用一次吗?[判断题]
A.是
B.不是
【B】47. 调用一个类的静态方法 ,需要release吗?[判断题]
A. 需要
B. 不需要
【B】48. 与alloc相对应的方法是 :[单选题]
A.alloc
B.dealloc
C.realease
D.autorelease
【D】49. 与retain对应的方法是 :[单选题]
A.alloc
B.dealloc
C.realease/autorelease
D.copy
【D】50. 一个对象的dealloc方法在什么时被调用?[单选题]
A.引用计数(retainCount)降为 1
B. 引用计数(retainCount)降为 l
C.引用计数(retainCount)降为2
D.引用计数(retainCount)降为0
【A】51. 分类(categories)能够向一个已有的类中添加 :[单选题]
A.方法
B.属性
C.动作
D.协议
【A】52. 协议(protocal)可以分为两种,其中以哪种关键字申明的协议可以不被实现 :[单选题]
A.@optional
B.@required
C.@none
D.@useful
【D】53. 哪个类是大多数Objective-C类继承的根类,它没有父类 [单选题]
A.NSNull
B.NSInteger
C.NSString
D.NSObject
【B】54. -(void ) setName:(NSString *)newName{self.name = newName;} 被调用的结果是:[单选题J
A.设置name属性的值
B.程序死循环
C.获得name属性的值
D.复制name属性的值
【A】55.关键字nil在Objective-C 中表示 :[单选题]
A. 一个空对象
B. 一个空指针
C. 一个空字符
D. 一个空字节
【B】56. 在Objective-C 中,类的成员变量默认被申明为 :[单选题]
A.@private
B.@protected
C.@public
D.@package
【C】57. 关于Objective-C++中的异常处理,下面说 去最正确的是:[单选题]
A.Objective-C不支持异常处理
B.在Objective-C++中,Objective-C 的异常处理能够捕获 C++的异常
C.在Objective-C++中,Objective-C 的异常处理不能捕获 到C++的异常
D.在Objective-C++中,Objective-C和C++的异常处理可 以相互捕获异常
【C】58. 在对象的dealloc方法中,关于[super dealloc] ;语句说法正确的是:[单选题]
A.[super dealloc];有没有都可以
B.[super dealloc];应该放在dealloc方法内的第一行
C.[super dealloc];应该放在dealloc方法内的最后一行
D.[super dealloc];位置无所谓 ,只要在dealloc方法里有就可 以
【B】59.下面关于方法 :[[[ object methodl] method2] method3: [object method4]]中的method调用 顺序是 :[单选题]
A.1 2 3 4
B.1 2 4 3
C.4 1 2 3
D.4 3 2 1
【B】60.ARC (Automatk Reference Counting)模式下,下面哪个方法是来被禁用的:[单选题]
A. retain
B.copy
C.release
D.autorelease
【B】61.下列对象中不能调用initWithContentsOfFile 方法进行构造的是:[单选题]
A.NSString
B.NSXMLParser
C.NSDictionary
D.NSData
【C】62. oc中包含一个国定义的头文件应该使用:[单选题]
A.#include ’”’
B.#include<>
C.#import ’”’
D.#import<>
【C】63. 必须实现的协议方法使用哪个关键字声明:[单选题]
A.@property
B.@interface
C.@required
D.@protocol
【A】64. 声明一个方法:提供Student对象数组按照学号升序排列的判断条件|单选题]
A. -(NSComparisonResult)compareWithNumberForAscendSort: (Student*)otherStudent
B. -(NSinteger)compareWithNumberForAscendSort: (Student*)otherStude nt
C. - (BOOL))compareWithNumberForAscendSort: (Student*)otherStudent
D. +(int)compare\VithNumberForAscendSort: (Student*)otherStudent
【C】65. oc语言中类的实例变量如果只可以被本类和真子类访问,需要下列哪个修饰符 :[单选题]
A. @public
B. @private
C. @protected
D. @friendly
【A】66. 关于集合描述不正确的是:[单选题]
A. 所有的集合都可以添加元素。
B. 集合分为可变集合.不可变集合 。
C. 数组,字典和NSSet这三种集合存储数据的方式不同。
D. 所有集合都能保存id类型数据。
【C】67. NSDictionary 肯dilct = [NSDictionarydictionaryWithObject:@”a valut ” forKey :@"aKey”] ;NSLog (@”%@”, [dictobjectForKey:@”aKey"]);[diet release]; 以上内容输出:[单选题]
A. a value
B. aKey : a value
C. 崩溃信息
D. a value : aKey
【A】68. 向oc控制台输出一个字符串应该用:[单选题]
A. NSLog()
B. Printf()
C. NSPrintf()
D. scanf()
【C】69. 名为print::的方法有几个传入参数 :[单选题]
A. 0
B. 1
C. 2
D. 3
【D】70. 下列哪个选项与Gsynthesize配合使用 :[单选题]
A.@end
B.@interface
C.@implementation
D.@property
【A】71. 在Objective-C 中,所有类的根类是 :[单选题]
A. NSObject
B. NSNull
C. NSCoding
D. UIView
【A】72. 能准确删除“张三”的代码是:NSMutableDictionary * peoples=[NSMutableDictionary dictionaryWithObjedsAndKeys :@”张三”,@”左护法飞@”李四”,@”右便”,@”唐sir”,@”老大哥”,nil] ; [单选题]
A. [peoples removeObjectForKey:@”左护法”];
B. [peoples removeObject:@”张三”];
C. [peoples removeObjectAtindex:O];
D. [peoples removeAllObjects];
【D】73. 使用oc语言输出”This is a Objective-C program.”正确的是:[单选题]
A.NSLog(@”%s”,This is a Objective-C program.);
B.NSLog(@”%@”,This is a Objective-C program.);
C.NSLog(@”This is a Objective-C program.”,%@);
D.NSLog(@”This is a Objective-C program.");
【C】74. 协议与委托的描述不正确的是:[单选题]
A. 委托是iOS的一种设计模式
B. 协议里的方法默认是必须实现的
C. 类接受了多个协议 , 这些协议写在父类后面 的<>内 ,多个协议之间用'.'隔开
D. 定义协议使用@ protocol关键字
【D】75. 关于协议描述不正确的是:[单选题]
A. 协议分正式和非正式协议 。
B. 在要求确认协议 的类必须实现协议中的方法时,可以使用@required。
C. 一个协议可以被个类确认。
D. 协议中声明的方法,默认是@optional的。
【D】76. 下面关于类概念 的描述中,错误的是:[单选题]
A. 类是抽象数据类型的实现
B. 类是具有共同行为的若干对象 的统一描述体
C. 类是创建对象的模板
D. 类就是C语言中的结构体类型
【C】77. 在Objective-C 中,下面哪些选项是属性的正确声明方式 :[单选题]
A. @property(nonatomic,retain)NSStringmyString;
B. @property(nonatomic,assign)NSString * myString;
C. @property(nonatomic,assign)int mynumber;
D. @property(nonatomic,retain)int mynumber;
【A】78. NSString *name = [[NSString alloc] initWithString :@”张三”] ;NSLog(@”%d ”,[name retainCount]) 以上代码输出的 内容是:[单选题]
A. -1
B. 0
C. 1
D. 2
【C】79. 不会立刻使引用计数器改变的是:[单选题]
A.release
B.alloc
C.autorelease
D.retain
【B】80. oc中的委托最好声明成 :[单选题]
A.retain
B.assign
C.copy
D.readonly
【C】81. 经过下列哪种操作后需要使用release方法 :[单选题]
A.delegate
B.assign
C.retain
D.dealloc
【B】82. 在oc中类的接口声明关键字为 :[单选题]
A.@import
B.@interface
C.@implemention
D.@protocol
【C】83. -(id)setName:(NSString *)name :(NSString *)sex age:(int)age的方法名是:[单选题]
A.-(id)setName:(NSString *)name :(NSString *)sex age:(int)age
B.-setName:name :sex age:age
C.-setName: : age:
D.-setName:name:age:
【B】84. 将@”2C青军”替换成@”有为青军”的代码是 :[单选题]
A.[@”2C青年” stringByAppendingOfString :@”2B" withString :@”有为”];
B. NSRange range = {0,2}; [@”2C青年” stringByReplacingCharacterslnR. ange:rangewithString:@”有为”];
C. NSRange range = {1,2};[@”2C青年” stringByReplacingCharacterslnRange :rangewithString:@”有为”];
D.[@”2C青年” stringByReplacingOccurrence sOfString :@”有为” withString :@”2C”];
【B】85. 下列回调机制的理解不正确的是:[单选题]
A. 目标动作对 :当两个对象之间有比较紧密的关系时 如视图控制器与真下的某个视图。
B. 代理 :也叫委托 当某个对象收到多个事件 并要求同一个对象来处理所有事件时 。委托机制必须依赖于某个协议 定义的方法来发送消息。
C. 通告机制 :当需要多个对象或两个无关对象处理同 一个事件时。
D. Block :适用于回调只发生一次的简单任务。
【C】86. 在Xcode 中,需要编译混合Objective-C相C++的源码文件,需要将文件格式 的后缀改为 :[单选题]
A. .c
B. .cpp
C. .mm
D. .m
【A】87. Objective-C声明一个类所要用到的编译指令是 :[单选题]
A.@interface SomeClass
B.@protocol SomeClass
C.@implementation SomeClass
D.@autorelease SomeClass
【A】88. 下面哪个方法不属于NSObject的内省(Introspection)方法 :[单选题]
A.init
B.isKindOfClass
C.responseToSelector
D.isMemberOfClass
【B】89. 使用protocol时,声明一组可选择实现与否的函数,需要在声明的前一行加上 :[单选题]
A.@required
B.@optional
C.@interface
D.@protocol
【A】90. 下面关于#impor1t相#include的描述正确的是:[单选题]
A.#import 是 #incllude 的替代指令,防止重复引用
B.#import 和 #incllude 不可以混合使用
C.#import 只用于引用 Objective-C的文件,#include 只用于引用C和C++的文件
D.#import 和 #incllude 的使用效果完全相同
【B】91. 下面哪个方法可 以比较两个NSString:*strl,*str2的异同:[单选题]
A. if(str1= str2) xxx ;
B. if([strl isEqualToString:str2]) xxx ;
C. if(str l && str2) xxx ;
D. if([str1 length] === [str2 length]) xxx;
【C】92. Objective-C有私有方法吗?有私有变量吗?[单选题]
A. 有私有方法和私有变量
B. 没有私有方法也没有私有变量
C. 没有私有方法 ,有私有变量
D. 有私有方法 ,没有私有变量
【D】93. 一个类的delegate(代理)的作用不正确的是:[单选题]
A. delegate中的函数在真他类中实现
B. 主要用于不同类型的对象之间一对一传递消息
C. 没有指派则不会触发
D. 可以一个对象的delegate指派给多个真他类型 的对象
【C】94. 下面说法不正确的是:[单选题]
A. readwrite 是可读可写特性 ;需要生成getter方法和setter方法时
B. readonly 是只读特性 只会生成getter方法 不会生成setter方法 i不希望属性在类外改变
C. assign 是赋值特性 ,和weak一样,可用weak代替;
D. retain 表示持有特性 ,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+l;
【A】95. 对于语句NSStri11t obj = [[NSData alloc] ir且it]; obj在编译时奉日运行H才,分别是什么类型的对象?[单选题]
A. 编译时是NSString的类型;运行时是NSData类型的对象
B. 编译时是NSObject 的类型;运行时是NSData类型的对象
C. 编译时是NSData的类型;运行时是NSString类型的对象
D. 编译时是NSObject 的类型;运行时是NSString类型的对象
【D】96. 以下关于类别的作用,说法不正确的是:[单选题]
A. 将类的实现分散到多个不 同文件或多个不同框架中。
B. 创建对私有方法 的前向引用。
C. 向对象添加非正式协议 。继承可以增加 修改或者删除方法 。
D. 不能添加属性
【A】97. 下面关于Objective-C 中的block定义正确的是:[单选题]
A. tyoedef void(ASuccessBlock)(BOOLsuccess);
B. tyoedef void(ASuccessBlock)(NSStringvalue ,BOOL success);
C. tyoedef voidA(SuccessBlock)(NSStringvalue ,BOOL success);
D.tyoedef voidA(SuccessBlock)(NSString*value);
【C】98. 下列关于iOS开发中类方法 的使用描述,错误的是:[单选题]
A. 类方法可 以调用类方法
B. 类方法不可 以调用实例方法 但是类方法可 以通过创建对象来访 问实例方法
C. 类方法不可 以使用实例变量,包括self(可以使用self)
D. 类方法作为消息可以被发送到类或者对象里面去
【C】99. 以下哪个语句,可以允许Swift代码在执行完一个case分支后,跳转到下一个case分支中。[单选题]
A.continue
B.break
C.fallthrough
D.goto
【B】100. 以下关于Swift语言中的数组,描述错误的是:[单选题]
A. 组成数组的各个变量称为数组 的分量 也称为数组的元素 有时也被称为下标变量。
B. 在Swift中,数据值在被存储进入某个数组之前 ,数据的类型不需要明确。
C. 数组中元素的访问,是通过下标语法实现 的。
D. 在Swift中,可以使用数组的append()方法,或者直接使用加号+,往已有的数组中添加新的元素。
【C】101. 以下关于Swift语言的枚举类型,描述错误的是:[单选题]
A. 所谓枚举是指将变量 的值一一列举出来 并只限于在列举出来的值的范围内进行取值 。
B. Swift语言不须给枚举中的每一个成员都提供值。
C. 字符 、整数和 斗f点类型,可以作为枚举成员的数据类型,字符串则无法作为枚举成员的数据类型。
D. 和Objective-C语言中的枚举不同,你可以为Swift的枚举添加方法 。
【D】102. 以下关于Swift语言的结构体类型,描述错误的是:[单选题]
A. 可以为结构体定义常量或变量 的属性。
B. 和Objective-C语言中的结构体不同,你可以为Swift的结构体添加方法。
C. 可以给结构体定义下标。
D. 使用structure关键字来进行定义的
【C】103. 如果你用 Swift 写的class 是继承自NSObject 的话,Swift 会自动为所有的非 private 的类和成员加上哪个标记?[单选题]
A. @property
B. @objc-no
C. @objc
D. @sy肌hronized
【B】104. Objective-C异常3并不是真正的异常,但是当一个异常被抛出到最外层还没被捕获,程序会强行发送哪个信号来中断程序?[单选题]
A.SIGINT
B.SIGABRT
C.SIGQUIT
D.SIGSEGV
【C】105. 如果管理员发现某个进程终止不了,可尝试发送哪个信号?[单选题]
A.SIGINT
B.SIGABRT
C.SIGKILL
D.SIGSEGV
【D】106. 在哪个Swift版本中,Apple 向开发者提供了两个类 JSONEncoder 和 JSONDecoder ,使对象和 JSON 之间进行转化 变得非常简单?[单选题]
A. Swift 1.0
B. Swift 2.0
C. Swift 3.0
D. Swift 4.0
【B】107. 在Swift4中,以下哪条语句可以获得字符串的长度 :[单选题]
A. "xxx".length
B. "xxx”.count
C. "xxx”.characters..count
D. "xxx”.characters.length
【D】108. 单向区间主要给两种:确定上限和确定下限的区间,如6.叮 表示6及之后的所有数值空间 。请问单向区间是由哪个
Swift版本带来的?[单选题]
A.Swift 1
B.Swift 2
C.Swift 3
D.Swift 4
【D】109. runtime会将weak对象放入哪种数据结构?[单选题]
A 栈
B. 队列
C 堆
D. hash表
【BC】110. 拓展(extensios)能够在当前类中增加[单选题]
A. 动作
B. 方法
C. 属性
D. 协议
【AC】111. autorelease的作用是:[多选题]
A. 将对象放入自动释放池
B. 将对象的引用计数减-
C. 延后调用release方法
D. 立即调用release方法
【AB】112. 在KVC 中通用的属性访问器方法是哪两个?[多选题]
A. valueForKey:
B. setValue:forKey:
C. getValeForKey:
D. SetValue:
【ACD】113. 下面哪些关键字会引起对象的引用计数(retainCount)加一:[多选题]
A. alloc
B. init
C. retain
D. copy
【ABC】114. 在以.mm 为拓展名的文件里,可以包含的代码有哪些?[多选题]
A. C
B. Objective-C
C. C++
D. Swift
【ABCD】115. 下面哪些类中使用到了单例 ( Singletion) 模式?[多选题]
A. FileManager
B. NotificationCenter
C. Application
D. Device
【CD】116. 下面备数据类型 中,能够直接放进NSArray数组的有 :[多选题]
A. BOOL
B. NSInteger
C. NSString
D. NSArray
【ABC】117. Objective-C的快速枚举对比循环访问的优点,下面说法正确的是:[多选题]
A. 使用快速枚举效率更高
B. 语法更简洁
C. 使用更安全
D. 支持更多的数据类型
【CD】118. 以下哪一段代码不会抛出异常:[选题]
A. NSArray *array = @[l, 2, 3];NSNumber*number = array[3]// @[@l,@ 2,@ 3]
B. NSDictionary *diet @{@”key": nil}//value不能为空
C. NSString *str = nil; NSString *str2 =[str substringFromlndex:3];
D. NSStri吨*str @”hi";NSString *str2 =[str substringFromlndex:3];
【ABD】119. 关于Swift语言中的常量和变量 ,以下说法正确的是:[选题]
A. 常量所指向的是一个特定类型 的值 如数字8或者字符“Swift”。
B. 你可以使用let关键词定义一个常量 使用var关键词定义一个变量 。
C. 常量和变量在使用前不需要定义 (声明) 。
D. 变量的值可以根据需要不断进行修改,而常量的值一经定义,是不能够被修改的。
【ACD】120. Swift4.0支持哪些输出函数?[多选题]
A. print
B. println
C. debugPrint
D. dump
【ABCD】121. 关于Swift注释,以下说法正确的是:[多选题]
A. 序言性注释的内容主要包括模块的接口、数据的描述和模块 的功能 ;
B. 功能性注释主要包括程序段 的功能、语句的功能和数据的状态。
C. 单行注释使用N来表示
D. 多行注释使用/*…*/来表示
【ABCD】122. 关于Swift语言的Double相Float类型,以下说法正确的是:[多选题]
A. 浮点数值是具有小数部分的浮点数,比如3.1415和 0.228。
B. 相比整数来说 浮点数类型能表示更广的数值范围储存更大或者更小的数字。
C. Double表示64位浮点数,在浮点数需要特别大或者特别精确 的时候,可使用此类型。
D. Float表示32位浮点数,在不需要64位精度的时候可使用此类型 。
【ABCD】123. 关于Swift字符串申的转义符,以下描述正确的是:[多选题]
A. 认 表示反斜杠 B. W 表示换行符 C. V表示回车符 D. W 表示制表符
【ABD】124. 以下对Swift中的switch条件判断语句,描述正确的是:[多选题]
A. switch语句会尝试把某个值与若干个条件进行匹 配。
B. switch语句都由多个case构成,每一个 case 都是代码执行的一条分支。
C.和Objective-C相同的是,在Swift中,你需要为case分支添加break语句。
D.当条件判断的情况比较多时 通常用switch语句替换if语句。
【ABC】125. 以下关于Swift语言中的字典,描述正确的是:[多选题]
A.字典是一个能够使用类似于键 的唯一标识符 来获取值的非序列化集合 。
B.和数组不同的是,字典中的元素并没有具体的顺序,也就是说字典是无序存放元素的。
C.字典可以存储的键和值 必须提前定义它们的类型。
D.字典可以存储的键和值 无须提前定义它们的类型。
【BC】126.对Swift 中的函数描述正确的语句是 :[多选题]
A. Swift使用关键字function进行函数的定义。
B. 函数是一个组织在一起的程序代码集合 用来完成某个特定的功能。
C. 通过函数名以及对应类型的参数值,可调用这个函数。
D. 调用函数时传递的参数的顺序,无需与参数列表中的顺序相同 。
【AC】127. 关于Swift语言的函数,以下说法正确的是:[多选题]
A. 如果你不确定参数的数量,可通过在变量类型后面加…,定义可变参数 。
B. 如果你不确定参数的数量,可通过在变量类型后面加_,定义可变参数。
C. 一个函数最多能有一个可变参数 ,且必须是函数表中最后的一个。
D. 一个函数可以有多个可变参数 ,可变参数可 以放在参数列表中 的任意位置。
【ABCD】128. 关于Swift语言的内置函数,以下描述正确的是:[多选题]
A. abs绝对值函数,用来返回指定参数的正值。当参数为负数时,返回对应的正数;当参数为正数时,结果将保持不变 。
B. min最小值函数,用来返回不定数量的参数之间的最小值。
C. max最小值函数,用来返回不定数量的参数之间的最大值。
D. map 函数通常用于将数组中的每个元素,通过指定的方法进行转换。
【ABCD】129. 以下有关Swift语言中的类相结构体,描述正确的是:[多选题]
A. 两者都可以定义属性以存储值。
B. 两者都可以定义方法以提供功能。
C. 两者都可以定义下标脚本 用于允许使用下标语法访问值。
D. 两者都可以定义初始化器用于初始化状态。
【AB】130. 以下有关Swift语言中的类相结构体,描述正确的是:[多选题]
A. 两者都可 以被扩展 以实现默认所没有的功能。
B. 两者都可 以遵循协议 以针对特定类型提供标准功能 。
C. 类可以继承另一个类,结构体也可以继承另一个结构体。
D. 类相结构体都可以添加析构方法 。
【ABCD】131.在Swift语言中,使用扩展可以完成哪些任务?[ 选题]
A. 添加计算型属性和计算静态属性。
B. 定义实例方法和类型方法 。
C. 提供新的构造器。
D. 使一个已有类型符合某个接 口。
【AC】132. 以下关于Swift语言中的可选Optional类型,描述正确的是:[多选题]
A. Optional类型是一个enum枚举类型,包含None和Some两个元素。
B. Optional类型是一个enum枚举类型,包含Blank和Some两个元素。
C.在通过Some(T)包装wrap原始值之后,在使用Optional 的时候,就要进行相应 的拆包操作。
D.在通过Some(T)包装wrap原始值之后,在使用Optional 的时候,无需进行相应 的拆包操作。
【ACD】133. 在 Swift 中,我们可以给哪些类型定义subscript下标脚本的语法?[多选题]
A 类
B. 协议
C. 结构体
D. 枚举
【ABCD】134. 以下关于Swift语言的下标说法正确的是:[多选题]
A.下标脚本使用 subscript 关键字来定义
B.下标脚本使用 get、set 来定义读 、写属性,并不需要get军队et都有,可以只读,并且读必须有。
C.定义 set 属性时,传入的参数默认名称为newValue。并且newValue 的类型和subscript函数返回值相同。
D.下标脚本允许你通过在实例后面 的方括号中传入一个或者多个 的索引值来对实例进行访 问和赋值。
【ACD】135. Object-C具有哪些动态特性?[多选题]
A. 动态类型 B. 动态名称 C. 动态绑定 D. 动态加载
【BCD】136. 在Objective-C语言中,除了哪几个方法之外创建的对象都是autorelease的?[多选题]
A. init
B. alloc
C. new
D. copy
【ABCD】137. Objective-C有哪些遍历(迭代)方式?[多选题]
A. 使用for循环
B. 使用NSEnumerator遍历
C. 使用for...In遍历
D. 基于Block的遍历方式
【ABD】138.Objective-C的Category可以实现哪些功能?[多选题]
A. 将类的实现分散到多个不 同文件或不同框架中。
B. 创建对私有方法 的前向引用。
C. 向对象添加正式协议 。
D. 向对象添加非正式协议 。
【ABCD】139. 以下哪些情况会在Objective-C 中产生异常?[多选题]
A. NSDictionary删除为nil的key
B. NSDictionary添加nil的对象
C. h文件里函数名,却忘了修改m文件里对应的函数名
D. 使用第三万库时,没有添加”-ObjC” flag
【ABCD】140. 以下哪些情况会在Objective-C中产生异常?[多选题]
A. NSDictionary插入nil的对象
B. NSURL的初始化,传入nil的http地址
C. 数组最大下标处理错误
D. 如果一个数组刚刚初始化,还是空的,就对它进行相关操作
【ABCD】141.Mach异常是指最底层的内核级异常,以下哪些属于Mach异常?[多选题]
A. EXC_BAD_ ACCESS (Bad Memory Access)
B. EXC_BAD_INSTRUCTION运行了非法的指令,往往是运行指令的参数不对 (0或者nil的参数)
C. EXC_ SOURCE程序资源上限(cpu占用过高或者 内存不足) 。
D. EXC_GUARD 些C函数访问错误导致的异常。
【AC】142. 最常见的Mach异常:EXC_BAD_ACCESS ,一般是由于哪两种情况造成的?[多选题]
A. 访问非法地址(SIGBUS信号)
B. 访问了尚未实现的方法
C. 访问了被回收掉的内存(SIGSEGV信号)
D. 访问数组时出现了索引越界
【CD】143. 在以下列出的信号中,程序不可捕获 、阻塞或忽略的信号有哪两个:[多选题]
A. SIGTSTP
B. SIGPWR
C. SIGKILL
D. SIGSTOP
【ABCD】144. 在以下列出的信号中,默认会导致进程退出的信号有:[多选题]
A. SIGALRM
B. SIGHUP
C. SIGKILL
D. SIGTERM
【ABCD】145. 以下哪些是常见的 Crash 场景?[多选题]
A. 访问了僵尸对象
B. 访问野指针
C. 数组越界
D. 访问了不存在的方法
【ABD】146. autoreleasepool是以一个队列数组的形式实现的,主要通过以下哪三个函数完成:[多选题]
A. objc_autoreleasepoolPush
B. objc_autoreleasepoolPop
C. objc_autoreleasepoolMov
D. objc_autorelease
【ABCD】147. 以下哪些是Runloop可以做到的?[多选题]
A. 使程序一直运行接受用户输入
B. 决定程序在何时应该处理哪些Event
C. 调用解耦
D. 节省CPU时间