ReactiveCocoa 4.0 :- 无法映射 NSURLSession.sharedSession().rac_dataWithRequest
ReactiveCocoa 4.0 :- Unable to map the NSURLSession.sharedSession().rac_dataWithRequest
我在使用反应式 cocoa 网络服务请求时收到警告。
Result of call to 'on(started:event:failed:completed:interrupted:terminated:disposed:next:)' is unused: Did you forget to call start
on the producer?
代码:
func callwebservice(dataDictionary:[String: String]? , urlString: String){
print("******* dictionary = \(dataDictionary)")
let boundary = "Boundary-\(NSUUID().UUIDString)"
let request = NSMutableURLRequest(URL:NSURL(string: urlString)!);
request.HTTPMethod = "POST"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
let body = NSMutableData();
if dataDictionary != nil {
for (key, value) in dataDictionary! {
body.appendData(NSString(format:"--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"\(value)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
}
}
request.HTTPBody=body
let requestType = NSURLSession.sharedSession().rac_dataWithRequest(request)
requestType.on(started: {
print("Started")
}, event: { event in
print("Event: \(event)")
}, failed: { error in
print("Failed: \(error)")
}, completed: {
print("Completed")
}, interrupted: {
print("Interrupted")
}, terminated: {
print("Terminated")
}, disposed: {
print("Disposed")
}, next: { value in
print("Next: \(value)")
})
}
您需要调用 .start()
来获取信号。现在它只是一个 SignalProducer。在 on(…)
调用后添加 .start()
。
我在使用反应式 cocoa 网络服务请求时收到警告。
Result of call to 'on(started:event:failed:completed:interrupted:terminated:disposed:next:)' is unused: Did you forget to call
start
on the producer?
代码:
func callwebservice(dataDictionary:[String: String]? , urlString: String){
print("******* dictionary = \(dataDictionary)")
let boundary = "Boundary-\(NSUUID().UUIDString)"
let request = NSMutableURLRequest(URL:NSURL(string: urlString)!);
request.HTTPMethod = "POST"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
let body = NSMutableData();
if dataDictionary != nil {
for (key, value) in dataDictionary! {
body.appendData(NSString(format:"--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"\(value)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
body.appendData(NSString(format:"--\(boundary)\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
}
}
request.HTTPBody=body
let requestType = NSURLSession.sharedSession().rac_dataWithRequest(request)
requestType.on(started: {
print("Started")
}, event: { event in
print("Event: \(event)")
}, failed: { error in
print("Failed: \(error)")
}, completed: {
print("Completed")
}, interrupted: {
print("Interrupted")
}, terminated: {
print("Terminated")
}, disposed: {
print("Disposed")
}, next: { value in
print("Next: \(value)")
})
}
您需要调用 .start()
来获取信号。现在它只是一个 SignalProducer。在 on(…)
调用后添加 .start()
。