2016-03-24 16 views
1

Reaktif kakao web hizmeti isteği kullanırken uyarı aldım.ReactiveCocoa 4.0: - NSURLSession.sharedSession() eşleştirilemiyor. Rac_dataWithRequest

çağrının sonucu için 'üzerine (başlamış: Olay: başarısız oldu: tamamlandı: kesintiye: sonlandırıldı: tanzim: Sonraki :)' kullanılmayan şudur: Üretici üzerine start çağırmak unuttum mu?

Kodu:

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

cevap

2

Bir Sinyali almak için .start() çağırmanız gerekir. Şu anda sadece bir SignalProducer. on(…) aramasından sonra .start()'u ekleyin.

+0

bunun işe yaradığını bu şekilde kodu yeniden şimdi requestType .start {(olay) anahtarı olayı { vaka .Next (kullanıcı izin) 'de: baskı (kullanıcı) observer.sendCompleted() durum .Failed (hata let): observer.sendFailed (hata) varsayılan: observer.sendCompleted() } } ben size koduyla ilgili onay isteyen veya işe yaramadı söylüyorsun emin değilim –

+0

, çünkü bu kod önerdiğim şey değil. –

+0

Bunu biliyorum ama sorunu çözdüm ve öneriniz için teşekkürler. –