• Swift构造


    构造就是将结构体、类或枚举的实例准备好以便使用的过程。这个过程包括:
    (1)为实例中的每个存储属性设置初始值。
    (2)执行必要的准备和初始化工作。

    实例的构造过程是通过构造器来完成的。

    可以在结构体、类或枚举中提供自定义的构造器,从而自定义实例的构造过程。

    结构体的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    struct SomeStruct {
        var someProperty: String
        
        init(someProperty: String) {
            self.someProperty = someProperty
        }
    }
    
    let someStruct = SomeStruct(someProperty: "SP")
    someStruct.someProperty
    
    

    类的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    class SomeClass {
        var someProperty: String
        
        init(someProperty: String) {
            self.someProperty = someProperty
        }
    }
    
    let someClass = SomeClass(someProperty: "SP")
    someClass.someProperty
    
    

    枚举的自定义构造器的基本用法

    /*
     构造器就是名为init的特殊方法,其语法格式为:
     init([形参列表]) {
        构造体
     }
     与普通的方法相比,构造器没有关键字func和返回类型。
     
     当通过“类型名([构造器的实参列表])”创建某个类型的实例时,系统会自动调用相应的自定义构造器,以完成实例的构造过程。
     */
    enum SomeEnum {
        case someValue1
        case someValue2
        case someValue3
        
        init(param: String) {
            switch param {
            case "sv1":
                self = .someValue1
            case "sv2":
                self = .someValue2
            default:
                self = .someValue3
            }
        }
    }
    
    SomeEnum(param: "sv2")
    
  • 相关阅读:
    使用Dictionary键值对判断字符串中字符出现次数
    Linq实现字符串拼接多条件查询
    js数据类型转换
    js前端数据类型检测typeof,instanceof,Object.prototype.toString.call
    moment.js格式化日期,获取前一个月的时间
    css 样式中height100%失效问题
    记一次react项目运行崩溃
    null和undefined区别
    windows腾讯云/阿里云服务器更换操作系统为linux
    csrf攻击原理和防御-生成token防御代码
  • 原文地址:https://www.cnblogs.com/jukaiit/p/10174414.html
Copyright © 2020-2023  润新知