0
我使用Swift 1.2和ReactiveCocoa 3.0,SwiftyJSON 2.2.1和Alamofire 1.3.1。我正在建立一個被動的網絡管理員。爲什麼這些上下文變量不可見?
爲什麼以下方式不起作用?
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閉包內。奇怪的事情:這曾經在幾個小時前工作。