Je n'arrive pas à comprendre pourquoi l'analyseur statique de Xcode me donne l'avertissement "'nil' renvoyé d'une méthode qui devrait renvoyer une valeur non nulle valeur". La méthode est la suivante:Méthode d'initialisation d'un objet dans un dispatch_sync Bloc signalé par un analyseur statique comme renvoyant
- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request
fromFile:(NSURL *)fileURL
progress:(NSProgress * __autoreleasing *)progress
completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler {
__block NSURLSessionUploadTask *uploadTask = nil;
dispatch_sync(url_session_manager_creation_queue(), ^{
uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL];
});
if (!uploadTask && self.attemptsToRecreateUploadTasksForBackgroundSessions && self.session.configuration.identifier) {
for (NSUInteger attempts = 0; !uploadTask && attempts < AFMaximumNumberOfAttemptsToRecreateBackgroundSessionUploadTask; attempts++) {
uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL];
}
}
[self addDelegateForUploadTask:uploadTask progress:progress completionHandler:completionHandler];
return uploadTask; // nil returned from a method that is expected to return a non-null value
}
Etats de l'analyseur: nul retourné d'une méthode qui devrait renvoyer une valeur non nulle –
Comment cette méthode est-elle déclarée dans le fichier '.h'? Et cela remplace-t-il une méthode de super-classe? –
Est-ce que 'self.session' est nul? – PHD