【发布时间】:2015-12-14 10:04:25
【问题描述】:
我正在使用带有 ReactiveCocoa 3.0、SwiftyJSON 2.2.1 和 Alamofire 1.3.1 的 Swift 1.2。我正在构建一个反应式网络管理器。
为什么以下不起作用?
func sendRequest(request: ApiRequest) -> SignalProducer<JSON, NSError> {
return SignalProducer { sink, disposable in
alamofireManager.request(request.method, request.url, parameters:request.parameters, encoding: .JSON).responseJSON
{ (request, response, data, error) in
if let error = error {
// sendError(sink, error)
} else {
NSLog("Successful network request")
// sendNext(observer, JSON(data!))
// sendCompleted(sink)
}
}
}
}
sendError、sendNext 和 sendCompleted 未编译。当它们被取消注释时,编译器会说:
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
调试时,我看到水槽和一次性用品在 Alamofire 封闭件内不可见。最奇怪的是:这曾经在几个小时前起作用。
【问题讨论】:
标签: swift closures alamofire reactive-cocoa-3