में तर्कों की आवश्यकता है त्रुटि Reference to generic type Dictionary requires arguments in <...>
फ़ंक्शन की पहली पंक्ति पर दिखाई दे रही है। मैं फ़ंक्शन को एक एपीआई से पुनर्प्राप्त एनएसबीई वापस करने की कोशिश कर रहा हूं। किसी को पता है कि यहां क्या हो सकता है?स्विफ्ट त्रुटि: सामान्य प्रकार के शब्दकोश के संदर्भ में <...>
class func getCurrentWeather(longitude: Float, latitude: Float)->Dictionary?{
let baseURL = NSURL(string: "https://api.forecast.io/forecast/\(apikey)/")
let forecastURL = NSURL(string: "\(longitude),\(latitude)", relativeToURL:baseURL)
let sharedSession = NSURLSession.sharedSession()
let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in
if(error == nil) {
println(location)
let dataObject = NSData(contentsOfURL:location!)
let weatherDictionary: NSDictionary = NSJSONSerialization.JSONObjectWithData(dataObject!, options: nil, error: nil) as NSDictionary
return weatherDictionary
}else{
println("error!")
return nil
}
})
}
संपादित करें:
दूसरा मुद्दा:
class func getCurrentWeather(longitude: Float, latitude: Float)->NSDictionary?{
let baseURL = NSURL(string: "https://api.forecast.io/forecast/\(apikey)/")
let forecastURL = NSURL(string: "\(longitude),\(latitude)", relativeToURL:baseURL)
let sharedSession = NSURLSession.sharedSession()
let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in
if(error == nil) {
println(location)
let dataObject = NSData(contentsOfURL:location!)
let weatherDictionary: NSDictionary = NSJSONSerialization.JSONObjectWithData(dataObject!, options: nil, error: nil) as NSDictionary
return weatherDictionary //ERROR: NSDictionary not convertible to void
}else{
println("error!")
return nil ERROR: Type void does not conform to protocol 'NilLiteralConvertible'
}
})
}
धन्यवाद! इसने पहली त्रुटि हल की लेकिन अब मुझे एक संदेश मिल रहा है कि 'NSDictionary' 'शून्य' में परिवर्तनीय नहीं है। आपको क्या लगता है यहाँ हुआ? –
@ user1851782: आपको त्रुटि कहाँ मिली? और अब आप किस कोड का उपयोग कर रहे हैं? –
@ user1851782: यह डाउनलोड करने के कारण है 'डाउनलोड टास्क: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL (forecastURL !, completHandler: {(स्थान: NSURL !, प्रतिक्रिया: NSURLResponse !, त्रुटि: NSError!) -> शून्य में इसका प्रकार शून्य है और यह है एक एसिंक्रोनस कॉल –