Erreur de construction afnetworking: «La déclaration de la classe anonyme doit être une définition»

StackOverflow https://stackoverflow.com/questions/8894475

  •  29-10-2019
  •  | 
  •  

Question

Je commence avec Afnetworking pour remplacer le tristement défunte ASIHTTPREQUEST. Les gens semblent aimer ce nouveau "Afnetworking" mais il ne construit pas dans mon projet et je ne peux pas comprendre pourquoi. Je reçois des erreurs de construction à partir Class class = NSClassFromString(className); dans HTTPRequestOperationWithRequest:success:failure dans le fichier AFHTTPClient.m.

L'erreur est "la déclaration de classe anonyme doit être une définition" et j'ai demandé à Teh Google mais je n'ai rien obtenu. Aider?

Le contexte:

- (AFHTTPRequestOperation *)HTTPRequestOperationWithRequest:(NSURLRequest *)urlRequest 
                                                    success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                                                    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
{
    AFHTTPRequestOperation *operation = nil;
    NSString *className = nil;
    NSEnumerator *enumerator = [self.registeredHTTPOperationClassNames reverseObjectEnumerator];
    while (!operation && (className = [enumerator nextObject])) {
        Class class = NSClassFromString(className);
        if (class && [class canProcessRequest:urlRequest]) {
            operation = [[(AFHTTPRequestOperation *)[class alloc] initWithRequest:urlRequest] autorelease];
        }
    }

Edit: résolu par réponse ci-dessous. Fichier de patch ici.

Edit 2: Ces changements ont été apportés dans le plus récent travail afnet, donc quiconque le trouve à l'avenir: Téléchargez simplement une nouvelle version et vous êtes prêt. Aussi, comment va l'avenir? Bonjour l'avenir.

Était-ce utile?

La solution

J'ai pu contourner l'erreur du compilateur en renommant la variable "classe" à autre chose. Malheureusement, je n'ai pas pu comprendre pourquoi j'avais le problème. Voici un indice: cela m'est arrivé lorsque j'ai ajouté Afnetworking à un grand projet existant avec des drapeaux de compilateur inconnus. Lorsque j'ai ajouté Afnetworking à un nouveau projet, je n'ai pas du tout atteint le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top