我正在为我的 ios 应用程序使用 AFNetworking。
我按照文档的指示创建了一个 AFHTTPClient 的子类,它将发出我所有的 GET 和 POST 请求。
我的 ViewControllers 将收到任何错误消息以及来自这些请求的有效负载。一旦我的 AFHTTPClient 子类收到 401 状态代码,我将如何弹出登录屏幕?对于我发出的每一个请求,我都需要这种行为,所以当 401 冒泡到我的视图控制器时,我不想在过程中这么晚才写 showLoginScreen(),我想立即从 AFHTTPClient 内部显示登录屏幕,即使我在我的应用程序中深入了 5 个级别。
这是可能的还是一个坏主意?如何在不复制每个视图控制器中的代码的情况下自动弹出所有请求的登录屏幕?
我想覆盖我的 AFHTTPClient 子类中的一个方法,但我没有看到这样做的正确位置。我最初的候选人是 AFHTTPClient 内部的:
- (void)getPath:(NSString *)path
parameters:(NSDictionary *)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
NSURLRequest *request = [self requestWithMethod:@"GET" path:path parameters:parameters];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:success failure:failure];
[self enqueueHTTPRequestOperation:operation];
}
谁能指出插入我的“showLoginScreen()”方法的地方?