如何在swift 3中检查对象是否是字典?

abh*_*ran 6 dictionary swift

尝试'是'关键字.

// Initialize the dictionary

let dict = ["name":"John", "surname":"Doe"]

// Check if 'dict' is a Dictionary

if dict is Dictionary {
    print("Yes, it's a Dictionary")
}
Run Code Online (Sandbox Code Playgroud)

这将给出一个错误,说"'是'总是如此".我只想检查对象是否是字典.它可以与任何键对任何值对.

在此输入图像描述

密钥是可清除的,它不接受Any关键字.

vad*_*ian 9

如果要首先检查任意对象是否是字典,则必须使对象未指定:

let dict : Any = ["name":"John", "surname":"Doe"]
Run Code Online (Sandbox Code Playgroud)

现在您可以检查对象是否是字典

if dict is Dictionary<AnyHashable,Any> {
    print("Yes, it's a Dictionary")
}
Run Code Online (Sandbox Code Playgroud)

但这种方式是理论上的,仅用于学习目的.基本上,将一个不同的类型强加给一个非常愚蠢的类型.


Aaq*_*ain 5

如果您只想检查对象是否为字典,则可以执行以下操作:

if let dictionary = yourObject as? Dictionary{

    print("It is a Dictionary")

}
Run Code Online (Sandbox Code Playgroud)