Ios Restkit 2.0取消-使用它有任何隐藏问题吗?
我刚刚开始使用RESTKit2.0的代码库 代码库中的一个问题是大量难以取消的网络调用 我看到一些网络方法可以很容易地将操作返回给调用者,以便调用者可以随意取消它们。然而,这个接口并不容易支持这一点。是否有人尝试编写自己的类别来公开这些操作 比如说,Ios Restkit 2.0取消-使用它有任何隐藏问题吗?,ios,restkit,Ios,Restkit,我刚刚开始使用RESTKit2.0的代码库 代码库中的一个问题是大量难以取消的网络调用 我看到一些网络方法可以很容易地将操作返回给调用者,以便调用者可以随意取消它们。然而,这个接口并不容易支持这一点。是否有人尝试编写自己的类别来公开这些操作 比如说, - (void)getObjectsAtPath:(NSString *)path parameters:(NSDictionary *)parameters success:(void
- (void)getObjectsAtPath:(NSString *)path
parameters:(NSDictionary *)parameters
success:(void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult))success
failure:(void (^)(RKObjectRequestOperation *operation, NSError *error))failure
{
NSParameterAssert(path);
RKObjectRequestOperation *operation = [self appropriateObjectRequestOperationWithObject:nil method:RKRequestMethodGET path:path parameters:parameters];
[operation setCompletionBlockWithSuccess:success failure:failure];
[self enqueueObjectRequestOperation:operation];
}
可能是这样的:
- (NSOperation *)getObjectsAtPath:(NSString *)path
parameters:(NSDictionary *)parameters
success:(void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult))success
failure:(void (^)(RKObjectRequestOperation *operation, NSError *error))failure
{
NSParameterAssert(path);
RKObjectRequestOperation *operation = [self appropriateObjectRequestOperationWithObject:nil method:RKRequestMethodGET path:path parameters:parameters];
[operation setCompletionBlockWithSuccess:success failure:failure];
[self enqueueObjectRequestOperation:operation];
return operation;
}
如果有人尝试此操作并遇到问题,请告诉我。这不是此过程中涉及的唯一操作。它涉及网络方面,但不涉及映射。这并不意味着这是不可能的,但它不一定像你想象的那么容易
RKObjectManager
提供了一个界面,用于根据请求而不是更适合使用的特定操作来取消飞行中的操作。True,但如果这些操作与路径匹配,它将取消所有操作。当两个视图控制器发出相同的请求,其中一个取消请求时,就会出现问题。