09:swift-类

 

 

正文

import UIKit

class NineClassVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        
    }

    /*
     1:  类与结构体的对比
         在 Swift 中类和结构体有很多共同之处,它们都能:
             定义属性用来存储值;
             定义方法用于提供功能;
             定义下标脚本用来允许使用下标语法访问值;
             定义初始化器用于初始化状态;
             可以被扩展来默认所没有的功能;
             遵循协议来针对特定类型提供标准功能。
     
         类有而结构体没有的额外功能:
             继承允许一个类继承另一个类的特征;
             类型转换允许你在运行检查和解释一个类实例的类型;
             反初始化器允许一个类实例释放任何其所被分配的资源;
             引用计数允许不止一个对类实例的引用。
             更多信息,请阅览继承,类型转换,反初始化和 自动引用计数。

             注意:结构体在你的代码中通过复制来传递,并且并不会使用引用计数。

     */
    
    // 2:初始化 初始化器语法最简单的是在类或结构体名字后面接一个空的圆括号
    
    /* ** 3:结构体和枚举是值类型
     
     值类型是一种当它被指定到常量或者变量,或者被传递给函数时会被拷贝的类型。

     其实,在之前的章节中我们已经大量使用了值类型。实际上,Swift 中所有的基本类型
     ——整数,浮点数,布尔量,字符串,数组和字典——都是值类型,并且都以结构体的形式在后台实现。

     Swift 中所有的结构体和枚举都是值类型,这意味着你所创建的任何结构体和枚举实例——
     和实例作为属性所包含的任意值类型——在代码传递中总是被拷贝的。
     */
    
    // 4:类是引用类型
    
    // 5: 指针
    
    /* 6: Swift 的 String , Array 和 Dictionary类型是作为结构体来实现的,
     这意味着字符串,数组和字典在它们被赋值到一个新的常量或者变量,亦或者它们本身被传递到一个函数或方法中的时候,其实是传递了拷贝。
     
     这种行为不同于基础库中的 NSString, NSArray和 NSDictionary,它们是作为类来实现的,而不是结构体。 NSString , NSArray 和 NSDictionary实例总是作为一个已存在实例的引用而不是拷贝来赋值和传递。
     
     */

}

 

posted on 2023-03-05 16:25  风zk  阅读(19)  评论(0编辑  收藏  举报

导航