AFNetworking构建错误:"Declaration of anonymous class must be a definition"



我正在启动AFNetworking,以取代不幸失效的ASIHTTPRequest。人们似乎很喜欢这个新的"AFNetworking",但它并没有建立在我的项目中,我不知道为什么。我在AFHTTPClient.m文件的HTTPRequestOperationWithRequest:success:failure中的Class class = NSClassFromString(className);上开始生成错误。

错误是"匿名类的声明必须是一个定义",我已经询问了谷歌,但没有得到任何信息。帮助

上下文:

- (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];
        }
    }

编辑:根据以下答案解决。此处为修补程序文件

第2版:这些更改已被纳入最新的AFNetworking,因此任何将来发现此更改的人:只需下载新版本,一切就绪还有,未来怎么样?你好,未来。

我能够通过将变量"class"重命名为其他变量来避免编译器错误。不幸的是,我不明白为什么我会遇到这个问题。这里有一条线索:当我将AFNetworking添加到一个具有未知编译器标志的大型现有项目中时,我就遇到了这种情况。当我将AFNetworking添加到一个新项目中时,我根本没有遇到这个问题。

相关内容

最新更新