【问题标题】:What should dynamicType return in Swift?Swift 中的 dynamicType 应该返回什么?
【发布时间】:2016-11-27 09:02:14
【问题描述】:

我刚开始学习 Swift,遇到了函数 dynamicType,它应该根据变量的值返回变量的类型。但对我来说,它只返回所有变量的“(元类型)”。谁能告诉我它是否应该返回?如果它不正确,那么为什么它会出错。我正在使用 XCode 版本 6.1.1。

这是我写的

var str = "Hello, playground"

str.dynamicType

输出:

Hello, playground

(Metatype)

【问题讨论】:

  • 你应该先更新你完全过时的Xcode
  • 知道对象的类型。参考这个link
  • 记录只有“(元类型)”(在你非常原始的 Xcode/Swift 版本中),但这并不是它实际的 .

标签: swift dynamictype


【解决方案1】:

Metatype类型是指任何类型的类型,包括类类型、结构类型、枚举类型和协议类型。您可能无法在此处打印名称,因为它不是字符串数据类型。 dynamicType 的目的是使用它进行运行时比较,如下所示。

if someInstance.dynamicType === SomeClass.self {

有关更多信息,请参阅以下链接。如果您真的想打印自定义类的名称,请按照链接中的建议创建“class func printClassName()”。

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html

【讨论】:

    猜你喜欢
    • 2016-11-02
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    相关资源
    最近更新 更多