gpt4 book ai didi

ios - 什么是 Swift.AnyClass?

转载 作者:搜寻专家 更新时间:2023-10-31 22:29:08 27 4
gpt4 key购买 nike

我正在查看 UITableView 类,我发现:

open func register(_ cellClass: Swift.AnyClass?, forCellReuseIdentifier identifier: String)

阅读 here我知道 AnyClass 实际上是一个类型别名。

typealias AnyClass = AnyObject.Type

我不明白的是什么是:Swift.AnyClass Swift 做什么?

我已经知道它接受的参数类似于CustomTableViewCell.self

最佳答案

要添加到已接受答案的更多信息:

首先 Swift.AnyClassAnyObject.Type 的类型别名。这意味着它是一个元类型,可以包含任何“类类型”,因此名称 AnyClass 位于首位。

class A {}
class B {}

var anyClass: AnyClass? = nil /* could be ': AnyObject.Type' */
anyClass = A.self
anyClass = B.self

var anyInstanceOfAClass: AnyObject? = nil
anyInstanceOfAClass = A()
anyInstanceOfAClass = B()

Swift 是标准库的实际模块名称。如果您需要一种消除歧义的方法,您可以自己使用它。例如,您可以这样做:

struct Array<T> {
private var array: Swift.Array<T> { ... }
}

关于ios - 什么是 Swift.AnyClass?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41708033/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com