1、用for-in 写出一个0-9索引的循环。
for index in 0...9{
print("index = \(index)")
}
2、现有一个 Int数组array,请最简约的写法用 map 方法给每个成员自加1然后生成新的数组
let arr = [1,2,3]
let arr2 = arr.map ({
$0 + 1
})
print("arr2的结果是\(arr2)")
arr2的结果是[2, 3, 4]
3、类与结构(应该是结构体?)最突出的区别特性是?
类是属于面向对象编程,结构体属于面向协议的编程
Swift 中类和结构体有很多共同点。共同处在于:
- 定义属性用于存储值
- 定义方法用于提供功能
- 定义附属脚本用于访问值
- 定义构造器用于生成初始化值
- 通过扩展以增加默认实现的功能
- 符合协议以对某类提供标准功能
与结构体相比,类还有如下的附加功能:
- 继承允许一个类继承另一个类的特征
- 类型转换允许在运行时检查和解释一个类实例的类型
- 解构器允许一个类实例释放任何其所被分配的资源
- 引用计数允许对一个类的多次引用
4、在 swift调用c 函数最少需要哪几个文件?
a是建立桥接文件建立swift和c的联系(点击File–>New File,弹出“Choose a template for your new file”对话框,选择OS X下的source,选中Objective-C File,填上文件名(OCFile.m),点击”Next”后会弹出”Would you like to configure an Objective-C bridging header? “,选择Yes,创建 工程名-Bridging-Header.h文件)
b 给工程建立一个C语言文件
5、swift函数参数设置成引用传递类型的标签是?
inout
6、CChar实质是哪个类型
CChar = Int8
7、写出比下方更有效率的算法?
var a = 3
for _ in 0..<100 {
a = a * 2
}
let res = a * Int(pow(Double(2), Double(100)))
min 永远都是0 max = 2的N次幂-1
let minValueUInt8 = UInt8.min = 0
let maxValueUInt8 = UInt8.max = 255
let maiValueUInt16 = UInt16.min = 0
let maxValueUInt16 = UInt16.max = 65535
let maiValueUInt32 = UInt32.min = 0
let maxValueUInt32 = UInt32.max = 4294967295
let maiValueUInt64 = UInt64.min = 0
let maxValueUInt64 = UInt64.max = 18446744073709551615
想要了解更多请关注公众号