zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    youtube视频下载
    Amazon 发送个人文档无回复
    逻辑地址、线性地址、物理地址
    niaoge.html
    Ubuntu中修改Terminal背景
    eclipse javaw.exe in your current path问题
    linux ls-al 指令详解
    sublime上配置markdown
    iOS Button按钮 热区的放大
    iOS抓包Charles 操作
  • 原文地址:https://www.cnblogs.com/Rinpe/p/5190029.html
Copyright © 2011-2022 走看看