類型別名
Any
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+
相關用法
- Swift AnyCollection min()用法及代碼示例
- Swift AnyCollection allSatisfy(_:)用法及代碼示例
- Swift AnyCollection compactMap(_:)用法及代碼示例
- Swift AnyCollection isEmpty用法及代碼示例
- Swift AnyCollection index(_:offsetBy:)用法及代碼示例
- Swift AnyCollection split(separator:maxSplits:omittingEmptySubsequences:)用法及代碼示例
- Swift AnyCollection suffix(from:)用法及代碼示例
- Swift AnyCollection contains(where:)用法及代碼示例
- Swift AnyCollection flatMap(_:)用法及代碼示例
- Swift AnyCollection sorted()用法及代碼示例
- Swift AnyCollection max()用法及代碼示例
- Swift AnyCollection reduce(into:_:)用法及代碼示例
- Swift AnyCollection index(_:offsetBy:limitedBy:)用法及代碼示例
- Swift AnyCollection subscript(_:)用法及代碼示例
- Swift AnyCollection shuffled(using:)用法及代碼示例
- Swift AnyCollection first用法及代碼示例
- Swift AnyCollection prefix(upTo:)用法及代碼示例
- Swift AnyCollection joined()用法及代碼示例
- Swift AnyCollection randomElement()用法及代碼示例
- Swift AnyCollection sorted(by:)用法及代碼示例
- Swift AnyCollection enumerated()用法及代碼示例
- Swift AnyCollection lexicographicallyPrecedes(_:)用法及代碼示例
- Swift AnyCollection min(by:)用法及代碼示例
- Swift AnyCollection shuffled()用法及代碼示例
- Swift AnyCollection joined(separator:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 AnyClass。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。