• Swift中扩展的使用


    import Foundation
    
    /*
    扩展
    1.使用扩展添加属性, 方法, 可变方法, 构造器, 下标, 嵌套类型
    2.可以使一个已有类型符合一个或者多个协议
    3.扩展与OC的Category类似
    4.扩展并不是派生子类, 因此不支持重写
    */
    
    /*
    [修饰符] extension 已有类型 { // 添加新功能 }
    修饰符可以省略, 或者是private, internal, public其中之一,
    类型可以是枚举, 结构体和类其中之一
    
    注意: 通过扩展为已有类型添加了新功能, 那个新功能在该类型的所有已有实例中都是可用的
    */
    
    /*
    通过扩展让已有的类型遵守一个或者多个协议
    语法格式:
    [修饰符] extension 已有类型: 协议1, 协议2 { // 添加新功能 }
    */
    
    extension String
    {
        // 扩展一个计算属性
        var length: Int {
            get {
                return self.characters.count
            }
        }
        
        // 扩展一个构造器
        init(str: String)
        {
            self = str
        }
        
        // 扩展一个方法
        func getlength() -> Int
        {
            return self.characters.count
        }
        
        // 扩展一个静态方法
        static func show() -> Void
        {
            print("I'm String")
        }
    }
    
    var str: String = "Rinpe"
    var str2 = String(str: "Lala")
    
    print(str.length)
    print(str.getlength())
    print(String.show())
    print(str2)
  • 相关阅读:
    Vue动画操作
    js this
    flask 操作mysql的两种方式-sqlalchemy操作
    flask 操作mysql的两种方式-sql操作
    ansible批量加用户
    使用 WTForms 进行表单验证的例子
    flask开发用户管理系统wtf版
    [转]Python格式化输出
    scrapy中response.body 与 response.text区别
    flask开发表单
  • 原文地址:https://www.cnblogs.com/Rinpe/p/5190029.html
Copyright © 2020-2023  润新知