Swift是一门强类型语言,而Objective-C是弱类型语言(OC是动态性语言,让程序可以在运行时判断和决定其该有的行为,所以OC属于弱类型)。所以使用时需要注意对象之间关系,用is as as? as! 这些操作符来处理对象之间关系
Swift基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式。
本篇文章学习自泊学(boxueio.com)
类型的判断 - is
- is用来判断对象是否属于某个类 或者子类,相当于OC的:isKindOf
- 示例 - 1:
class Shape {
}
class Rectangle: Shape {
}
class Circle: Shape {
}
let r = Rectangle()
let c = Circle()
let shapeArr: Array<Shape> = [r, c]
// 统计arr中各种形状的数量 is操作符; 用 A is B 这样的用法来判断对象类型
var totalRects: Int = 0
var totalCircles:Int = 0
shapeArr[0] is Rectangle
for s in shapeArr
{
if s is Rectangle
{
// ++totalRects