10秒以上かかる場合にサーバー呼び出しを手動でタイムアウトするようにNSTimerオブジェクトを設定する必要があります(Restkitではサポートされていません)
これは以下の私のコードです。基本的に、私のローダークラスはloadObjectsAtResourcePathを使用してリクエストを委任します
10秒以上かかる場合は、サーバーでエラーが発生したときにRestkitが呼び出すのと同じ失敗メソッドを呼び出したい(didFailWithError)
しかし、私はそれを間違っていると感じています。さらに、failureメソッドには、デリゲートクラスでのみ初期化されるオブジェクトが必要です。
//CLASS FOR LOADING OBJECTS
-(void)getObjects{
RKObjectManager *sharedManager = [RKObjectManager sharedManager];
// loads the object via delegate
[sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
//creates an error
NSError *error = [NSError errorWithDomain:@"world" code:200 userInfo:nil];
// Setting timeout here. goto failure
nTimer = [NSTimer scheduledTimerWithTimeInterval:10.0f target:self.delegate selector:@selector:(objectLoader:nil didFailWithError:error:) userInfo:nil repeats:NO];
}
// handles failure
- (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error {
..
}
// handles success
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects {
..
}
これを行う正しい方法は何ですか?