1、指针写起来比C语言复杂一些(其实复杂很多,但是也安全很多)2、多重闭包有时不是很方便,写法会变得很复杂3、不支持C语言的可变参数,这使得移植的时候有些麻烦4、隐式命名空间导致来自不同函数库的重名类型会编译错误,这一点真的不如 Java5、Swift Package Manager 依存关系管理总是有问题,V3和V4严重不兼容6、对Linux的封装函数库接口仍然不够好,比如OC的很多东西到2018年还没有移植到Linux。而且也缺乏对Linux的广泛支持(目前只有Ubuntu),也不兼容Android,特别是对于iOS上很厉害的CommonCrypto加密函数库以及Accelerator(硬件加速),都不能移植7、虽然可以REPL,但是用Swift来写脚本仍然是一个笑话(太慢了,而且动态加载函数库是不可能的)8、Xcode不支持Linux仿真器,Swift REPL 的程序调试不是那么好用9、不直接支持C++ / C++11,不能直接引用C++对象10、目前没有文档说明如何从其他语言(比如C语言或C++,以及Python/PHP等脚本)如何调用Swift的类和函数,包括静态方法和动态方法还有很多很多,虽然很喜欢这门语言,也用了三年了,但是确实存在上面的问题。