如何检查变量是否为零

use*_*621 6 swift

我有一个变量

var a: [AnyObject? -> Void] 
Run Code Online (Sandbox Code Playgroud)

我正在通过append方法向其中添加数据.现在我想检查变量是否为零.我试过使用[]但没有工作也尝试了"",这也没有用,任何人都可以告诉这个变量的含义以及如何检查它是否为零.

Vin*_*zzz 13

据我所知,var a是一个函数数组,它接受任何类型的可选Object,并返回void.所以这些函数的参数是可选的,但是数组本身不是:它不能是nil,或者它会被声明[AnyObject? -> Void]?,不是吗?

编辑:如果,然而,你宣布这a是一个可选的(但为什么你会这样做?) - 添加?- 你检查一个可选的存在if let:

if let b = a {
// a not nil, do some stuff
} else {
// a is null
}
Run Code Online (Sandbox Code Playgroud)

如果您只想检查数组是否为空,请使用isEmptySwift Array中的方法


Leo*_*bus 6

更新:Xcode 7.3 Swift 2.2

如果你想检查一个变量是否为零,你应该使用if to letwrap if if for you.无需创建第二个var.

let str = "123"
var a = Int(str)        
if let a = a {
    print(a)
}
Run Code Online (Sandbox Code Playgroud)

要么

if let a = Int(str) {
    print(a)
}
Run Code Online (Sandbox Code Playgroud)