今天在Xcode中的Background的中撸了几行Swift代码,居然出了不少错误,郁闷啊。找了好久才解决了bug,不爽啊。主要是一个三元运算符的小问题。报错是:Consecutive statements on a line must be separated by';'。现在贴出来和大家分享,希望后人不要遇到这样的低级错误。
var score = 64 let grade:String=score>=60?"及格":"不及格" println(grade)
上述代码报错,错误如下:
。
报错中说“在一行中的连续语句必须使用;分号分隔”,根据提示,我怎么加;分号都不行,不就是一个简单的三元运算符吗?怎么可能需要加;分号。然后我去百度该问题,在stackoverflow上找到一个相似的问题,可惜不能解决我的问题。链接如下:http://stackoverflow.com/questions/28397744/skaction-customactionwithduration-consecutive-statements-on-a-line-must-be-separ 。
然后我以为是优先级的问题,就根据运算先后加了括号,还是不行。。。。无语了。
最后一怒之下,我把每个变量和左右的运算符中间都使用空格进行隔开。突然代码正确了,运行成功。如图所示:
。
最后一一进行检查,发现问题的关键是数字60和?之间必须要有空格,否则就报错。如下代码所示可以运行成功:
。
坑爹啊,Swift对运算符的检查也太严格了吧,所谓的Swift的安全性我算是真正见识到了。泪崩,浪费我好久时间。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!