【问题标题】:AFNetworking : The Operation couldn't completed.(NSURLErrorDomain error -1004)AFNetworking:操作无法完成。(NSURLErrorDomain 错误 -1004)
【发布时间】:2014-12-08 06:49:25
【问题描述】:

有时,我的服务器响应缓慢,我收到此消息作为响应,操作无法完成。(NSURLErrorDomain 错误 -1004)

如何处理此类错误?

附:我正在为此使用 AFNetworking。

【问题讨论】:

    标签: ios error-handling afnetworking-2


    【解决方案1】:

    您可以通过覆盖 get/post 方法来增加超时

    以下是get方法的例子

    - (AFHTTPRequestOperation *)GET:(NSString *)URLString
                         parameters:(id)parameters
                            success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                            failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
    {
        NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:@"GET" URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters error:nil];
        [request setTimeoutInterval:ADD_YOUR_TIME_OUT_INTERVAL];
        AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:success failure:failure];
        [self.operationQueue addOperation:operation];
        return operation;
    }
    

    附:我在以前版本的 AFNetwork 中使用了这种方法,通过子类化AFHTTPClient。我没有在新版本的AFHTTPRequestOperationManager中测试。

    这可能会有所帮助:https://stackoverflow.com/a/22666837/1292441

    【讨论】:

    • 我认为,如果我们的目标是 iOS 7 及更高版本,我们应该使用 AFNetworking-2.0,AFHTTPSessionManager。我不确定这一点,它会如何影响我的应用程序。我正在寻找一个自然的解决方案。不过感谢您的努力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    相关资源
    最近更新 更多