當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。