如何检查我的变量在ios swift中的对象类型?
例如
let test= ["Chicago", "New York", "Oregon", "Tampa"]
Run Code Online (Sandbox Code Playgroud)
是测试NSArray?NSMutableArray里?的NSString?
我习惯使用即时窗口的visual studio,这可以在Xcode的调试模式下使用吗?
nhg*_*rif 10
有几种方法可以在调试或编译时确定对象的类型.
如果显式声明变量的类型,只需查找它:
let test: [String] = ["Chicago", "New York", "Oregon", "Tampa"]
Run Code Online (Sandbox Code Playgroud)
这里,test清楚地标记为[String](一个Swift数组的Strings).
如果隐式推断变量的类型,我们可以通过⌥ Option+单击获取一些信息.
let test = ["Chicago", "New York", "Oregon", "Tampa"]
Run Code Online (Sandbox Code Playgroud)

在这里,我们可以看到test的类型是[String].
我们可以使用dynamicType以下方法打印对象的类型:
let test = ["Chicago", "New York", "Oregon", "Tampa"]
println(test.dynamicType)
Run Code Online (Sandbox Code Playgroud)
打印:
Swift.Array<Swift.String>
Run Code Online (Sandbox Code Playgroud)
我们还可以在变量视图中看到我们的变量:

在这里,我们可以在括号中清楚地看到变量的类型:[String]
此外,在断点处,我们可以向调试器询问变量:
(lldb) po test
["Chicago", "New York", "Oregon", "Tampa"]
(lldb) po test.dynamicType
Swift.Array<Swift.String>
Run Code Online (Sandbox Code Playgroud)
你可以is在Swift中使用.
if test is NSArray {
println("is NSArray")
}
Run Code Online (Sandbox Code Playgroud)