美文网首页
Swift-元类型

Swift-元类型

作者: lieon | 来源:发表于2020-12-14 23:15 被阅读0次

Any,AnyObject

  • Any:可以代表任意类型(枚举,结构体,类,函数类型)
  • AnyObject:可以代表任意类类型

X.self, X.Type, AnyClass

  • X.self是一个元类型(metadata)的指针,metadata存放着类型相关的信息
  • X.self属于X.Type类型
class Person {
    
}

class Student: Person {
}

let perType: Person.Type = Person.self
let stuType: Student.Type = Student.self
let anyType: AnyObject.Type = Person.self

Self

  • 代表当前类型
  • 一般用作返回值类型,限定返回值跟方法调用者必须是同一类型
protocol Runable {
    func test() -> Self
}

class Doggie: Runable {
    required init() { }
    
    func test() -> Self {
        return type(of: self).init()
    }
}

class BigDog: Doggie { }

var d = Doggie()
print(d.test())

var bd = BigDog()
print(bd.test())

相关文章

  • Swift-元类型

    Any,AnyObject Any:可以代表任意类型(枚举,结构体,类,函数类型) AnyObject:可以代表任...

  • MemoryLayout理解

    swift-指针类型Memory Layout的简介与使用 https://blog.csdn.net/die_w...

  • 跟着洲洲哥一块学习Swift-属性

    本文首发地址 Swift-属性 首先结构体和枚举都是值类型,类是引用类型。 把结构体赋值给一个变量 * 把结构体...

  • swift-类型转换

  • Swift-类型方法

    类型方法 实例方法是被某个类型的实例调用的方法。你也可以定义在类型本身上调用的方法,这种方法就叫做类型方法。在方法...

  • Swift-可选类型

    使用可选类型(optionals)来处理值可能缺失的情况。可选类型表示: 有值,等于 x 或者 没有值 可选的概念...

  • Swift-可选类型

    在值可能不存在的情况下,您可以使用可选值。 可选表示两种可能性:有一个值,您可以解开可选值以访问该值,或者根本没有...

  • Swift-集合类型

    简介 一组同类型的值的组合, 根据组合的整体特性分为: 有序可重复 - 数组(Array) 无序不重复 - Set...

  • Swift-集合类型

    前言 3月27号苹果发布了Swift3.1,官方教程也更新到了3.1,查看更新记录发现更新的内容对之前的文章并没有...

  • Swift-集合类型

    Swift提供了三种主要的集合类型,称为数组,集合和字典,用于存储值的集合。数组是值的有序集合。集是唯一值的无序集...

网友评论

      本文标题:Swift-元类型

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