内存安全 inout 参数访问冲突 在函数体内,同时读、写 stepSize 这块内存区域。 inout 参数访问冲突解决 self 访问冲突
Subclass 对于自定义的类而言,OC 的类,不能继承自 Swift 的类,即要混编的 OC 类不能是 Swift 类的子类。反过来,需要混...
ARC Swift 使用自动引用计数(ARC)来跟踪并管理应用使用的内存。大部分情况下,这意味着在 Swift 语言中,内存管理“仍然工作”...
why 想画一个不规则四边形,代码是可以编译通过的,但是返回类型又臭又长,被暴露了出去。 不能将 Container 用作函数的返回类型,因为该...
协议的语法 自定义类型声明时,将协议名放在类型名的冒号之后来表示该类型采纳一个特定的协议。多个协议可以用逗号分开列出。 若一个类拥有父类,将这个...
extension 扩展为现有的类、结构体、枚举类型、协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(所谓的逆向建模)。 扩展和...
类型 类型检查 使用类型检查操作符(is)来检查一个实例是否属于一个特定的子类。如果实例是该子类类型,类型检查操作符返回 true,否则返回 f...
定义基类 任何不从另一个类继承的类都是所谓的基类 Swift 类不会从一个通用的基类继承。你没有指定特定父类的类都会以基类的形式创建。 子类 子...
初始化器 初始化器在创建特定类型的实例时被调用。 默认的属性值 如上所述,你可以在初始化器里为存储属性设置初始值。另外,指定一个默认属性值作为属...