Ich möchte meine benutzerdefinierte Delegatmethoden in Reaktion Rückruf des Alamofire verwenden, wie unten:Delegieren ist gleich Null in Alamofire Antwort Rückruf
func startDownloadSegment() {
let destination: DownloadRequest.DownloadFileDestination = { _, _ in
let filePath = self.generateFilePath()
return (filePath, [.createIntermediateDirectories])
}
// 1
print(self.delegate)
Alamofire.download(downloadURL, to: destination).response { response in
// 2
print(self.delegate)
if response.error == nil {
self.delegate?.segmentDownloadSucceeded(with: self)
} else {
self.delegate?.segmentDownloadFailed(with: self)
}
}
}
Wie Sie sehen können, No.1 print (self.delegate) gibt den delegator Ich setze. Aber No.2 gibt immer nil zurück, so dass die Delegate-Methode wie downloadSucceeded (with :) nicht aufgerufen werden kann.
Vielen Dank.
Haben Sie den Delegaten festgelegt? – NSNoob
Es wird mehr Code angezeigt, möglicherweise wird auch die Implementierung der Delegiertenstelle unterstützt. – dip
@NSNoob Ja, Delegat ist festgelegt. Ich habe meine Frage aktualisiert. –