Ich habe NSOperationQueue bereits erfolgreich in der Anwendung implementiert.Wie setze ich den Timeout-Vorgang NSOperationQueue in iOS fort?
Ich habe eine Warteschlange, die 1000 von NSOperations wie unten haben könnte.
@interface Operations : NSOperation
@end
@implementation Operations
- (void)main
{
NSURL *url = [NSURL URLWithString:@"Your URL Here"];
NSString *contentType = @"application/json";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSError *err = nil;
NSData *body = [NSJSONSerialization dataWithJSONObject:postVars options:NSJSONWritingPrettyPrinted error:&err];
[request setHTTPBody:body];
[request addValue:[NSString stringWithFormat:@"%lu", (unsigned long)body.length] forHTTPHeaderField: @"Content-Length"];
[request setTimeoutInterval:60];
NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *resData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
}
@end
Jetzt für diese Warteschlange ich alle 1000 Operationen gleichzeitig hinzufügen. Ich füge Operation wie folgt hinzu.
Operations *operation = [[Operations alloc]init];
[downloadQueue addOperation:operation];
Nun, was Zeitintervall passiert ist 60 als [request setTimeoutInterval:60]
wie nach 60 Sekunden Also denken Sie, wenn 300 Operationen von 1000 Operationen beendet sind dann andere 700 Operationen Anfragezeitüberschreitungsfehler werfen.
Also was soll ich in diesem Fall tun.
Kann ich fehlgeschlagene Operationen fortsetzen? Oder ich sollte wieder Betrieb machen und es in der Warteschlange hinzufügen.
Gibt es einen besseren Mechanismus als diesen?
Können Sie bitte einen Hinweis liefern, die ich folgen sollte? –
@JayeshSojitra sicher: [NSURLConnectionDelegate Dokumentation] (https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/) [NSURLConnection zu NSURLSession Migration Guide] (https: //www.objc. io/issues/5-ios7/von-nsurlconnection-to-nsurlsession /) – JAL