将mutableCopy转换为Swift

将mutableCopy转换为Swift,第1张

概述我发现这个 guide收到一个HTTP Body,女巫包含一个带有AFNetworking 2的JSON格式错误信息.该指南是在Objective-C中,我正在尽我所能将其转换为Swift. 这是我试图转换为Swift的代码: - (id)responseObjectForResponse:(NSURLResponse *)response d 我发现这个 guide收到一个http Body,女巫包含一个带有AFNetworking 2的JsON格式错误信息.该指南是在Objective-C中,我正在尽我所能将其转换为Swift.

这是我试图转换为Swift的代码:

- (ID)responSEObjectForResponse:(NSURLResponse *)response                           data:(NSData *)data                          error:(NSError *__autoreleasing *)error {    if (![self valIDateResponse:(NShttpURLResponse *)response data:data error:error]) {        if (*error != nil) {            NSMutableDictionary *userInfo = [(*error).userInfo mutablecopy];            NSError *JsonError;            // parse to Json            ID Json = [NSJsONSerialization JsONObjectWithData:data options:NSJsONReadingallowFragments error:&JsonError];            // store the value in userInfo if JsON has no error            if (JsonError == nil) userInfo[JsONResponseSerializerWithDataKey] = Json;            NSError *newError = [NSError errorWithDomain:(*error).domain code:(*error).code userInfo:userInfo];            (*error) = newError;        }        return (nil);    }    return ([super responSEObjectForResponse:response data:data error:error]);}

更具体的是,这部分存在问题:

NSMutableDictionary *userInfo = [(*error).userInfo mutablecopy];

这是我目前的代码:

class JsONResponseSerializerWithData: AFJsONResponseSerializer {    let JsONResponseSerializerWithDataKey: Nsstring = "JsONResponseSerializerWithDataKey"    overrIDe func responSEObjectForResponse(response: NSURLResponse!,data: NSData!,error: NSErrorPointer) -> AnyObject? {            if(!self.valIDateResponse(response as NShttpURLResponse,data: data,error: error)) {                if(error != nil) {                    // The question.....                    var JsonError: NSError                    // parse to Json                    // Missing some returns with AnyObejct...                   }            return nil        }    }}

如何将此行转换为Swift?
我对Swift / Objective-C语言很新,所以可能有一个简单的解决方案,但我还没有找到它.

@R_404_6120@ 我找到了描述如何在AFNetworking 2中解析错误消息的相同指南,这是我在Swift中的实现:

overrIDe func responSEObjectForResponse(response: NSURLResponse!,error: NSErrorPointer) -> AnyObject! {        if !self.valIDateResponse(response as! NShttpURLResponse,error: error) {            if error != nil {                var userInfo = error.memory!.userInfo!                var JsonError:NSError?                let Json: AnyObject? = NSJsONSerialization.JsONObjectWithData(data!,options: NSJsONReadingOptions.AllowFragments,error: &JsonError)                userInfo[JsONResponseSerializerWithDataKey] = Json;                error.memory = NSError(domain: error.memory!.domain,code: error.memory!.code,userInfo: userInfo)            }            return nil        }        return super.responSEObjectForResponse(response,error: error)    }

希望这会对某人有所帮助.

总结

以上是内存溢出为你收集整理的将mutableCopy转换为Swift全部内容,希望文章能够帮你解决将mutableCopy转换为Swift所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1017783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存