Error de compilación AFNetworking: "La declaración de clase anónima debe ser una definición"
-
29-10-2019 - |
Pregunta
Estoy empezando con AFNetworking para reemplazar el tristemente difunto ASIHTTPRequest.La gente parece amar esta nueva "afnetworking", pero no se basa en mi proyecto y no puedo entender por qué.Estoy recibiendo errores de construcción que comienzan en Class class = NSClassFromString(className);
en HTTPRequestOperationWithRequest:success:failure
en el archivo AFHTTPClient.m
.
El error es "La declaración de clase anónima debe ser una definición" y le he preguntado a Google pero no ha obtenido nada.Ayuda?
contexto:
- (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];
}
}
Editar: Resuelto por respuesta a continuación.Archivo de parche aquí .
Editar 2: Estos cambios se han tirado en el nuevo AFnetworking, por lo que cualquiera encuentra esto en el futuro: Simplemente descargue una versión nueva y todos estén configurados. Además, ¿cómo está el futuro?Hola futuro.
Solución
Pude moverme el error del compilador al cambiar el nombre de la "clase" de la variable a otra cosa.Desafortunadamente, no pude averiguar por qué estaba obteniendo el problema.Aquí hay una pista: me sucedió cuando agregué a AFNetworking a un gran proyecto existente con banderas de compilador desconocido.Cuando agregué a AFNetworking a un nuevo proyecto nuevo, no golpeé el problema en absoluto.