美文网首页Swift
Swift 类型属性、类型方法

Swift 类型属性、类型方法

作者: 本源道人 | 来源:发表于2017-09-24 12:44 被阅读47次

简述

Swift中的类型(classstructenum等)属性和类型方法分别属于静态属性和静态方法。这种类型的属性、方法不属于类型的实例,而属于类型本身;类型第一次被加载时保存在静态存储区,在程序运行过程中一直存在并且只保存一份。在使用时,通过类型来调用类型属性和类型方法。

示例:

1、枚举(enum)

enum NetFire  {
    
    case WiFi
    case WWAN
    
    var connect: Bool {
        switch self {
        case .WiFi: return true
        case .WWAN: return false
        }
    }
    
    static var isUpload: Bool {
        return true
    }
    
    static func isDownload(flag: String) -> Bool {
        if flag == "largeFile" {
            return true
        }
        return false
    }
}

在枚举中,存储型属性无法使用,故而更不可能使用静态存储型属性了。计算型属性或方法用static修饰,是为枚举属性、枚举方法(静态属性、静态方法)。

2、结构体(struct)

struct Api {
    
    static let baseUrl = "https://www.baidu.com"
    
    static var login: String {
        return "/login"
    }
    
    static func register() -> String {
        return "/register"
    }
}

在结构体中,存储型属性、计算型属性、方法用static修饰,是为结构体属性、结构体方法(静态属性、静态方法)。

3、类(class)

class User: NSObject {
    
    static var name = "young"
    static var sex: String? {
        return "male"
    }
    static func getAge() -> Int {
        return 18
    }
    
    class var inheritableSex: String? {
        return "female"
    }
    class func inheritableAge() -> Int {
        return 28
    }
}

在类中,存储型属性、计算型属性、方法用static修饰,是为类属性、类方法(静态属性、静态方法)。PS: 在使用类属性或类方法时,如果需要子类继承重写,则使用class关键字修饰。

相关文章

  • Swift 类型属性、类型方法

    简述 Swift中的类型(class、struct、enum等)属性和类型方法分别属于静态属性和静态方法。这种类型...

  • 每天学一点Swift----面向对象上(十一)

    十三.类型属性和类型方法 1.通过前面的学习,已经知道Swift的类型中有5种成员:属性(存储属性和计算属性)、方...

  • Swift笔记(一)属性、析构、调用OC单例

    目录 swift属性存储属性懒加载属性计算属性属性监听类型属性 swift析构函数 swift调用OC单例类方法 ...

  • Swift extension的妙用

    1.简单介绍extension 在Swift中扩展可以: 添加计算实例属性和计算类型属性; 定义实例方法和类型方法...

  • Swift 扩展(extension)详解

    在Swift中扩展可以: 添加计算实例属性和计算类型属性; 定义实例方法和类型方法; 提供新构造器; 定义下标; ...

  • swift关键字

    一 @mutating 修饰在方法前 修改本属性的值 swift的两种类型:值类型 和 引用类型 值类...

  • Swift-属性和方法

    计算型属性 类型属性(全局属性) 类型方法(全局方法) 属性观察器

  • Swift 属性

    Swift 属性 在Swift中属性主要分为存储属性、计算属性、延迟存储属性、类型属性这四种,并且Swift还提供...

  • Swift类与结构体(下)

    一.异变方法 Swift中class和struct都能定义方法,但在默认情况下,值类型(struct)属性不...

  • iOS开发之Swift篇(13)—— 扩展

    目录 版本 扩展 计算型属性 方法 构造器 下标 嵌套类型 版本 Xcode 11.3.1Swift 5.1.3 ...

网友评论

    本文标题:Swift 类型属性、类型方法

    本文链接:https://www.haomeiwen.com/subject/qvskextx.html