Xcode 检查对象的类型

Xcode 检查对象的类型,xcode,swift,Xcode,Swift,如何检查变量所在的对象类型 比如说 let test= ["Chicago", "New York", "Oregon", "Tampa"] 考试是不是很糟糕?NSMutableArray?串 我习惯于visual studio使用即时窗口,这是否可以在Xcode中处于调试模式?您可以在Swift中使用is if test is NSArray { println("is NSArray") } 有几种方法可以在调试或编译时确定对象的类型 如果显式声明了变量的类型,只需查找它: let

如何检查变量所在的对象类型

比如说

let test= ["Chicago", "New York", "Oregon", "Tampa"]
考试是不是很糟糕?NSMutableArray?串


我习惯于visual studio使用即时窗口,这是否可以在Xcode中处于调试模式?

您可以在Swift中使用
is

if test is NSArray {
  println("is NSArray")
}

有几种方法可以在调试或编译时确定对象的类型


如果显式声明了变量的类型,只需查找它:

let test: [String] = ["Chicago", "New York", "Oregon", "Tampa"]
在这里,
test
被清楚地标记为
[String]
(字符串的快速数组)


如果变量的类型是隐式推断的,我们可以通过⌥ 选项+单击

let test = ["Chicago", "New York", "Oregon", "Tampa"]

在这里,我们可以看到
test
的类型是
[String]


我们可以使用
dynamicType
打印对象的类型:

let test = ["Chicago", "New York", "Oregon", "Tampa"]

println(test.dynamicType)
印刷品:

Swift.Array

我们还可以在变量视图中看到我们的变量:

在这里,我们可以在括号中清楚地看到变量的类型:[String]


此外,在断点处,我们可以询问调试器有关变量的信息:

(lldb)po测试
[“芝加哥”、“纽约”、“俄勒冈州”、“坦帕”]
(lldb)po测试。动态类型
斯威夫特,阵型
它返回值的动态类型

func foo<T>(x: T) -> T.Type {
  return type(of: x)
}
func-foo(x:T)->T.Type{
返回类型(类型:x)
}

此处回答:问题是我不知道变量类型,希望避免插入多个if语句。我可以在调试模式下单步执行代码时检查变量类型吗?如果是这样,xcode中是否有即时窗口?@DevTonio在xcode控制台中,您可以通过
po test
打印变量的值。它将在那里打印有关对象的信息。
func foo<T>(x: T) -> T.Type {
  return type(of: x)
}