আমি যা অর্জনের চেষ্টা করছি তা হ'ল URLSessionদ্রুতগতিতে একটি অনুরোধ সম্পাদন করা I আমি এই ক্রিয়াটি একটি পৃথক ফাংশনে সম্পাদন করছি (যাতে জিইটি এবং পোষ্টের জন্য আলাদাভাবে কোডটি লেখা না হয়) এবং ফিরে আসা URLSessionDataTaskএবং ক্লোজারগুলিতে সাফল্য এবং ব্যর্থতা সামলানো। এর মতো বাছাই করুন-
let task = URLSession.shared.dataTask(with: request) { (data, uRLResponse, responseError) in
DispatchQueue.main.async {
var httpResponse = uRLResponse as! HTTPURLResponse
if responseError != nil && httpResponse.statusCode == 200{
successHandler(data!)
}else{
if(responseError == nil){
//Trying to achieve something like below 2 lines
//Following line throws an error soo its not possible
//var errorTemp = Error(domain:"", code:httpResponse.statusCode, userInfo:nil)
//failureHandler(errorTemp)
}else{
failureHandler(responseError!)
}
}
}
}
আমি এই ফাংশনটিতে ত্রুটির শর্তটি পরিচালনা করতে চাই না এবং প্রতিক্রিয়া কোডটি ব্যবহার করে একটি ত্রুটি উত্পন্ন করতে চাই এবং এই ক্রিয়াকলাপটি যেখানেই ডেকে আনা হয়েছে সেখানে হ্যান্ডেল করতে এই ত্রুটিটি ফিরিয়ে আনতে চাই না। কেউ আমাকে কীভাবে এটি সম্পর্কে বলতে পারেন? বা এই জাতীয় পরিস্থিতি পরিচালনার জন্য এটি কি "সুইফট" উপায় নয়?
NSErrorপরিবর্তেError(var errorTemp = NSError(...))