最近把项目升级到Swift3.0碰到一个奇葩的问题,死活编译不通过。简直抓狂,先来一个Xcode编译截图。
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
这是什么鬼。。没有一点点防备,没有一点点提示。坑爹呢这是。
唉,没办法,用xcodebuild
看看好了
xcodebuild -configuration Debug -project xxxx.xcodeproj
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
**** BUILD FAILED ****
The following build commands failed:
**CompileSwift** normal armv7 ~/xxx/Network/User/UsersRequest.swift
**CompileSwiftSources** normal armv7 com.apple.xcode.tools.swift.compiler
(2 failures)
啊哈,貌似有点头绪了。。UsersRequest.swift
文件就十几行代码,看来看去都没问题啊。。过程省略1万字。。。最后结果是基类的方法重写处没加@escaping
。上对比代码,自己体会吧。。
base代码
func start<N:Mappable>(_ success: @escaping (_ models:[N]) -> Void, failure: @escaping (() -> Void), finally:@escaping(()->()))
子类代码
override func start<N : Mappable>(_ success: @escaping ([N]) -> Void, failure: (() -> Void)?, finally: (() -> ())?)