मैं अलामोफायर 3 और ऑब्जेक्टमैपर (https://github.com/Hearst-DD/ObjectMapper) के नवीनतम संस्करण के साथ AlamofireObjectMapper
(https://github.com/tristanhimmelman/AlamofireObjectMapper) को लागू करने की कोशिश कर रहा हूं।टाइप 'टी?' के मान को परिवर्तित नहीं कर सकता अपेक्षित तर्क प्रकार '_?' - जेनेरिक प्रकार और समापन ब्लॉक
ऐसा लगता है कि AlamofireObjectMapper
, को अलामोफ़ीयर 3 के साथ काम करने के लिए अपडेट नहीं किया गया है, इसलिए मैं इसे स्वयं करने की कोशिश कर रहा हूं।
मैं कोड के इस टुकड़े पर आया हूं और अब मैं अटक गया हूं।
ऐसा लगता है कि जेनेरिक टाइप टी प्रतिक्रिया के समापन ब्लॉक के भीतर एक्सेसिबल नहीं है। क्या Alamofire
3 परिवर्तन या स्विफ्ट 2.1 परिवर्तन है?
Cannot convert value of type 'T?' to expected argument type '_?'
public func responseObject<T: Mappable>(queue: dispatch_queue_t?, keyPath: String?, completionHandler: (NSURLRequest, NSHTTPURLResponse?, T?, AnyObject?, ErrorType?) -> Void) -> Self {
return response(queue: queue) { (request, response, data, error) -> Void in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
let JSONResponseSerializer = Request.JSONResponseSerializer(options: .AllowFragments)
let result = JSONResponseSerializer.serializeResponse(request, response, data, error)
let parsedObject = Mapper<T>().map(keyPath != nil ? result.value?[keyPath!] : result.value)
dispatch_async(queue ?? dispatch_get_main_queue()) {
completionHandler(self.request!, self.response, parsedObject, result.value ?? response.data, result.error) // Here it shows the error: Cannot convert value of type 'T?' to expected argument type '_?'
}
}
}
}
हा हा के लिए mabril के जवाब में अपडेट करें। सौभाग्य से मैंने आपका जवाब जल्दी देखा। यह एक प्रकार की बग है जो उपयोगी त्रुटि संदेशों को स्विफ्ट करने के लिए धन्यवाद डीबग करने में घंटों लग सकती है। बहुत बहुत धन्यवाद – villy393
"अनसुलझे ऑपरेटर का उपयोग ** **" :( –
वाह धन्यवाद, त्रुटि मेरे लिए भी अगले पैरामीटर पर थी (एक्सकोड 8.0 चल रहा है) – aryaxt