Swift——Command failed due to signal: Segmentation fault: 11

前端之家收集整理的这篇文章主要介绍了Swift——Command failed due to signal: Segmentation fault: 11前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在验证类型转换的Any的知识点时,遇到了下列的bug


刚刚以为是Xcode出了什么问题,还去百度查问题,解决方案也很少,提示的是源编辑器受限。后来检查才发现是元组类型少了括号,而且是还没编辑的时候,全灰掉,连注释都灰了无效了。


一个元组少了括号,为什么不能在编译的时候报错或者在写的时候给个警告提示,而是给个从没遇到的括号~具体原因我并没太理解~


错误代码

//Any和AnyObject的类型转换
//AnyObject:任何class类型的实例
//Any:可表示任何类型,包括方法实例,闭包等

//这个虽然好用,但是代码中还是有明确类型最好
var testAny = [Any]()

testAny.append(2.18)
testAny.append(2.0,2.18)------->错误行


testAny.append((2.0,2.18))
testAny.append("Hello")
testAny.append(Movie())
testAny.append({(name:String)->String in
    return "Hello \(name)"})

//各种类型都OK,包括方法类型和非class类型,闭包也是可以的等等,上面的Movie是实例不是class

如果有知道的大牛路过求告知。谨以此记录,以后知道了回来备注~

猜你在找的Swift相关文章