当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Swift AnyClass用法及代码示例

类型别名

AnyClass

所有类类型隐式遵循的协议。

声明

typealias AnyClass = AnyObject.Type

详述

您可以使用AnyClass 协议作为任何类实例的具体类型。当您这样做时,所有已知的@objc 类方法和属性都可以分别作为隐式展开的可选方法和属性使用。例如:


class IntegerRef {
    @objc class func getDefaultValue() -> Int {
        return 42
    }
}


func getDefaultValue(_ c: AnyClass) -> Int? {
    return c.getDefaultValue?()
}

getDefaultValue(_:) 函数使用可选链接来安全地调用 c 上的隐式解包类方法。调用具有不同类类型的函数显示了getDefaultValue() 类方法如何仅在条件下可用。


print(getDefaultValue(IntegerRef.self))
// Prints "Optional(42)"


print(getDefaultValue(NSString.self))
// Prints "nil"

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 AnyClass。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。