2016-03-24 9 views
1

Ich habe eine Warnung erhalten, wenn ich reactive Kakao Web-Service-Anfrage.ReactiveCocoa 4.0: - Kann nicht die NSURLSession.sharedSession() zuordnen. Rac_dataWithRequest

Ergebnis Aufruf ‚(gestartet wurde: Veranstaltung: failed: beendet: unterbrochen: beendet: angeordnet: nächste :)‘ wird nicht verwendet: Haben Sie vergessen start auf den Hersteller anrufen?

Code:

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)") 
    }) 
} 

enter image description here

Antwort

2

Sie müssen .start() rufen ein Signal zu erhalten. Im Moment ist es nur ein SignalProducer. Fügen Sie .start() nach dem on(…) Aufruf hinzu.

+0

ich neu schreiben den Code auf diese Weise jetzt request .start es funktioniert {(event) in Schaltereignis { Fall .Next (let Benutzer): Druck (Benutzer) observer.sendCompleted() Fall .Failed (let Fehler): observer.sendFailed (Fehler) default: observer.sendCompleted() } } –

+0

ich bin nicht sicher, ob Sie eine Bestätigung über Ihren Code fragen oder mir zu sagen, es nicht funktioniert hat, weil dieser Code nicht das ist, was ich vorgeschlagen habe. –

+0

Ich weiß das, aber ich habe das Problem gelöst, und danke für Ihren Vorschlag. –