class 有以下功能,struct 是没有的:*
class可以继承,子类可以使用父类的特性和方法
类型转换可以在运行时检查和解释一个实例对象
class可以用 deinit来释放资源
一个类可以被多次引用...值类型和引用类型相比,最大优势可以高效的使用内存,值类型在栈上操作,引用类型在堆上操作,栈上操作仅仅是单个指针的移动,而堆上操作牵涉到合并,位移,重链接,Swift 这样设计减少了堆上内存分配和回收次数...在协议和方法前面添加 @objc,然后在方法前面添加 optional关键字,改方式实际上是将协议转为了OC的方式@objc protocol someProtocol {
@objc optional...required是强制子类重写父类中所修饰的初始化方法比较 Swift和OC中的 protocol 有什么不同?...Swift 和OC中的 protocol相同点在于: 两者都可以被用作代理;
不同点: Swift中的 protocol还可以对接口进行抽象,可以实现面向协议,从而大大提高编程效率,Swift中的protocol