我知道如果声明一个变量很容易测试它是否为null,但是如果一个变量被声明的话,我找不到一种方法可以解决。我需要的是:
如果声明了变量:
var i:Int
if [i is declared] {
// returns true
}
如果未声明变量:
if [i is declared] {
// returns false (but does not crash)
}
用例:我正在编写一个应用程序来教人Swift。我希望能够评估他们的代码并确保它是正确的。所以我的指令可能是创建一个名为i的变量并将其设置为等于1'我想测试他们是否已正确完成。在PHP中我可以做isset($ i),我在Swift中需要一个等价物。如果i == null,我无法使用,因为simpleBob表示如果未定义则会崩溃。
提前致谢!
罗布
答案 0 :(得分:-2)
如果您只是想查看某个类中是否存在某个名称的变量,您只需在该类中键入变量名称即可自动填充。
但是,正如simpleBob所提到的,如果在声明之前使用变量,代码将无法编译。
<强>更新强>
我不确定您是如何让用户输入数据的,但是,如果他们将其输入到UITextView中,您可以获取.containsString属性并查看他们是否按您的要求输入变量。
if myTextView.text.containsString("var i = 1")
{
print("They entered it correctly.")
}
else
{
// Do Something
}
您甚至可以将这些链接包含在内,以包含他们将使用的其他变体。
我希望这会有所帮助。