gpt4 book ai didi

swift - 将 mutableCopy 转换为 Swift

转载 作者:搜寻专家 更新时间:2023-10-30 22:14:20 24 4
gpt4 key购买 nike

我找到了这个 guide要接收 HTTP 正文,女巫包含 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 语言很陌生,所以可能有一个简单的解决方案,但我还没有找到它。

最佳答案

我认为这应该可以解决问题:

var userInfo = error.userInfo

关于swift - 将 mutableCopy 转换为 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29493787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com