基本上RestKit裡面沒有直接設定timeout的地方,所以你必須繼承RKObjectManager,然後修改其中一個方法:
像我是這樣修改:
因為NSMutableURLRequest裡面才會有timeoutInterval可以修改,然後我又新增了timeout屬性讓他可以設定。
記得overwrite他的初始化方法,讓他可以初始化timeout屬性:
- (NSMutableURLRequest *)requestWithObject:(id)object
method:(RKRequestMethod)method
path:(NSString *)path
parameters:(NSDictionary *)parameters;
像我是這樣修改:
- (NSMutableURLRequest *)requestWithObject:(id)object
method:(RKRequestMethod)method
path:(NSString *)path
parameters:(NSDictionary *)parameters;
{
NSMutableURLRequest *request = [super requestWithObject:object method:method path:path parameters:parameters];
request.timeoutInterval = self.timeout;
return request;
}
因為NSMutableURLRequest裡面才會有timeoutInterval可以修改,然後我又新增了timeout屬性讓他可以設定。
記得overwrite他的初始化方法,讓他可以初始化timeout屬性:
- (instancetype)initWithHTTPClient:(AFHTTPClient *)client
{
if (self = [super initWithHTTPClient:client]) {
self.timeout = 5;
}
return self;
}
這樣你就能設定operation的timeout了。不過我還沒測試過,詳情可以參考其他一些回答的網路文章。
留言
張貼留言