我怎么知道结果是什么会话或任务,所以我可以调用正确的视图控制器?
import Foundationclass Support{// MARK - PropertIEsvar ID: Int!var SoftekID: String!var Subject: String!var LastUpdate: String!var LastUpdatedBy: String!var Priority: Int!var Impact: Int!var SupportType: String!var importance: Int!// MARK: Generalinit() { self.ID = 0 self.softekID = "" self.Subject = "" self.LastUpdate = "" self.LastUpdatedBy = "" self.Priority = 0 self.Impact = 0 self.SupportType = "" self.importance = 0}func getSupportTickets(){let sp = SuppportProvIDer() sp.getSupportTickets()}}class SuppportProvIDer: NSObject,NSURLSessionDelegate,NSURLSessionDataDelegate,NSURLSessionTaskDelegate{// MARK: - PropertIEsvar mData: NSMutableData?var session: NSURLSession!overrIDe init(){ super.init() prepareConnection()}// MARK: - Methodsfunc prepareConnection(){ session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),delegate: self,delegateQueue:nil)}func getSupportTickets(){ var request = NSMutableURLRequest(URL: NSURL(string: "http://10.0.58.137/ISOWeb.UI/API/CSMobile/GetSupportTickets?PageNumber=0&PagingSize=10&TicketStatus=Priority")!,cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy,timeoutInterval: 20.0) let task = session.dataTaskWithRequest(request) mData = NSMutableData() task.resume()}func getHelpinformation(){ var request = NSMutableURLRequest(URL: NSURL(string: "http://10.0.58.137/ISOWeb.UI/API/CSMobile/GetHelpinformation")!,timeoutInterval: 20.0) let task = session.dataTaskWithRequest(request) mData = NSMutableData() task.resume()}func URLSession(session: NSURLSession,dataTask: NSURLSessionDataTask,dIDReceiveResponse response: NSURLResponse,completionHandler: (NSURLSessionResponsedisposition) -> VoID) { mData!.length = 0 completionHandler(NSURLSessionResponsedisposition.Allow)}func URLSession(session: NSURLSession,dIDReceiveData data: NSData) { mData!.appendData(data)}func URLSession(session: NSURLSession,task: NSURLSessionTask,dIDCompleteWithError error: NSError?) { if error != nil{ println("An error has occured completing the request") }else{ //Result for method: getSupportTickets var value = Nsstring(bytes: mData!.mutableBytes,length: mData!.length,enCoding: NSUTF8StringEnCoding) var jError: NSError? if let JsONResult: Array<NSDictionary> = NSJsONSerialization.JsONObjectWithData(mData!,options: NSJsONReadingOptions.AllowFragments,error: &jError) as? Array<NSDictionary> { if JsONResult.count > 0 { var arr = Array<Support>() for dict in JsONResult{ let item = Support() if (dict["ID"] as? Int != nil) { item.ID = dict["ID"] as! Int }else { item.ID = 0 } if (dict["SoftekID"] as? String != nil) { item.softekID = dict["SoftekID"] as! String }else { item.softekID = "" } if (dict["Subject"] as? String != nil) { item.Subject = dict["Subject"] as! String }else { item.Subject = "" } if (dict["LastUpdate"] as? String != nil) { item.LastUpdate = dict["LastUpdate"] as! String }else { item.LastUpdate = "" } if (dict["LastUpdatedBy"] as? String != nil) { item.LastUpdatedBy = dict["LastUpdatedBy"] as! String }else { item.LastUpdatedBy = "" } if (dict["Priority"] as? Int != nil) { item.Priority = dict["Priority"] as! Int }else { item.Priority = 0 } if (dict["Impact"] as? Int != nil) { item.Impact = dict["Impact"] as! Int }else { item.Impact = 0 } if (dict["SupportType"] as? String != nil) { item.SupportType = dict["SupportType"] as! String }else { item.SupportType = "" } if (dict["importance"] as? Int != nil) { item.importance = dict["importance"] as! Int }else { item.importance = 0 } arr.append(item) } } } //Result for method: getHelpinformation //How to kNow to which task holds the result? }}}
UPDATE
import Foundationclass CSSupport{// MARK - PropertIEsvar ID: Int!var SoftekID: String!var Subject: String!var LastUpdate: String!var LastUpdatedBy: String!var Priority: Int!var Impact: Int!var SupportType: String!var importance: Int!// MARK: Generalinit() { self.ID = 0 self.softekID = "" self.Subject = "" self.LastUpdate = "" self.LastUpdatedBy = "" self.Priority = 0 self.Impact = 0 self.SupportType = "" self.importance = 0}}class Support:NSObject,NSURLSessionTaskDelegate{// MARK: - PropertIEsvar mData: NSMutableData?var session: NSURLSession! overrIDe init(){ super.init() var configuration = NSURLSessionConfiguration.defaultSessionConfiguration() session = NSURLSession(configuration:configuration,delegateQueue:nil)}// MARK: - Methodsfunc getSupportTickets(){ var request = NSMutableURLRequest(URL: NSURL(string: "http://10.0.58.137/ISOWeb.UI/API/CSMobile/GetSupportTickets?PageNumber=0&PagingSize=10&TicketStatus=Priority")!,timeoutInterval: 20.0) let task = session.dataTaskWithRequest(request) mData = NSMutableData() task.resume()}func URLSession(session: NSURLSession,dIDCompleteWithError error: NSError?) { if error != nil{ println("An error has occured completing the request") }else{ var value = Nsstring(bytes: mData!.mutableBytes,enCoding: NSUTF8StringEnCoding) var jError: NSError? switch task.taskIDentifIEr { case 1: if let JsONResult: Array<NSDictionary> = NSJsONSerialization.JsONObjectWithData(mData!,error: &jError) as? Array<NSDictionary> { if JsONResult.count > 0 { var arr = Array<CSSupport>() for dict in JsONResult{ let item = CSSupport() if (dict["ID"] as? Int != nil) { item.ID = dict["ID"] as! Int }else { item.ID = 0 } if (dict["SoftekID"] as? String != nil) { item.softekID = dict["SoftekID"] as! String }else { item.softekID = "" } if (dict["Subject"] as? String != nil) { item.Subject = dict["Subject"] as! String }else { item.Subject = "" } if (dict["LastUpdate"] as? String != nil) { item.LastUpdate = dict["LastUpdate"] as! String }else { item.LastUpdate = "" } if (dict["LastUpdatedBy"] as? String != nil) { item.LastUpdatedBy = dict["LastUpdatedBy"] as! String }else { item.LastUpdatedBy = "" } if (dict["Priority"] as? Int != nil) { item.Priority = dict["Priority"] as! Int }else { item.Priority = 0 } if (dict["Impact"] as? Int != nil) { item.Impact = dict["Impact"] as! Int }else { item.Impact = 0 } if (dict["SupportType"] as? String != nil) { item.SupportType = dict["SupportType"] as! String }else { item.SupportType = "" } if (dict["importance"] as? Int != nil) { item.importance = dict["importance"] as! Int }else { item.importance = 0 } arr.append(item) } } } break case 2: break default: println("No task was found.") break } }}}解决方法 也许taskIDentifIEr属性可以帮助你: https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSessionTask_class/index.html#//apple_ref/occ/instp/NSURLSessionTask/taskIdentifier 总结
以上是内存溢出为你收集整理的ios – NSURLSession didCompleteWithError:如何确定它是什么任务?全部内容,希望文章能够帮你解决ios – NSURLSession didCompleteWithError:如何确定它是什么任务?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)