GroupOperation
'u alt sınıflara ayırıyorum ve başarısız olursa ve yeniden başlatma sayısı 5'ten azsa yeniden çalıştırmak istiyorum. Ayrıca delayOperation
'u 3 saniye geciktiriyorum . Ancak bunu işe alamıyorum, şu ana kadar sahip olduğum şey:NSOperation operationDidDaha sonra hatalarla işlem yapın, sıraya yeniden işlem ekleyin
self.conversation
bir nesnedir.
produceConversationOperation()
operasyon ilk hatadan sonra tekrar çalışmıyor Nedense bir backgroundOperation
override func operationDidFinish(operation: NSOperation, withErrors errors: [NSError]) {
if let _ = errors.first {
if let _ = operation as? BackgroundOperation {
context.performBlockAndWait({() -> Void in
self.conversation.retryCountValue++
if self.conversation.retryCountValue < 5 {
let postConversationOperation = self.produceConversationOperation()
let delayOperation = DelayOperation(interval: 3)
postConversationOperation.addDependency(delayOperation)
self.produceOperation(delayOperation)
self.produceOperation(postConversationOperation)
}
else {
self.conversation.retryCountValue = 0
}
self.saveContext()
})
}
}
}
döndürür. Sorunun self.produceOperation
yöntemiyle ilgili olduğunu hissediyorum, ancak hiçbir fikrim yok. Benzer sorulara birkaç çözüm var, ancak yardımcı olan hiçbir şey bulamadım.
Teşekkür
Öneri yok? – mrcurious
Yeni bir NSOperation nesnesi nasıl oluşturabilirim ve buradan kuyruğa nasıl eklerim? – mrcurious