未知类型名称AFJSONRequestOperation

时间:2014-01-22 14:26:55

标签: ios objective-c json afnetworking

我目前正在经历this tutorial。我已经安装了AFNetworking,但是当我输入此代码时,我在第7行和第8行收到错误Unknown type name AFJSONRequestOperationNo known class method for selector JSONRequestOperationWithRequest:request

-(void)makeRestuarantRequests
{
    NSURL *url = [NSURL URLWithString:@"A URL which returns JSON"];

NSURLRequest *request = [NSURLRequest requestWithURL:url];
//AFNetworking asynchronous url request
AFJSONRequestOperation *operation = [AFJSONRequestOperation
                            JSONRequestOperationWithRequest:request
                            success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject)
                                     {
                                         NSLog(@"JSON RESULT %@", responseObject);

                                     }
                            failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseObject)
                                     {
                                            NSLog(@"Request Failed: %@, %@", error, error.userInfo);
                                     }];

[operation start];

}

我似乎缺少一个包含我需要的课程的文件,可能是AFJSONRequestOperation.m.h

有关修复的想法吗?

修改

原始AFNetworking download中的所有.h个文件都是通过AFNetworking.h导入的:

#import <Foundation/Foundation.h>
#import <Availability.h>

#ifndef _AFNETWORKING_
    #define _AFNETWORKING_

    #import "AFURLRequestSerialization.h"
    #import "AFURLResponseSerialization.h"
    #import "AFSecurityPolicy.h"
    #import "AFNetworkReachabilityManager.h"

    #import "AFURLConnectionOperation.h"
    #import "AFHTTPRequestOperation.h"
    #import "AFHTTPRequestOperationManager.h"


#if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || \
      ( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) )
    #import "AFURLSessionManager.h"
    #import "AFHTTPSessionManager.h"
#endif

#endif /* _AFNETWORKING_ */

3 个答案:

答案 0 :(得分:1)

您使用的是AFNetworking的哪个版本?好像您使用的是版本2.x,而AFJSONRequestOperation来自版本1.x。

另见:https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide

答案 1 :(得分:0)

对于OP Im猜测来说太晚了但我遇到了这个问题,因为在源文件夹周围有两个AFNetworking副本。我的CocoaPods安装中的一个和之前尚未删除的一个。

我通过在错误消息的编译命令输出中搜索“AFNetworking”来发现这一点,该消息向我展示了我不期望的AFNetworking副本。

转储非pod副本将其全部修复。

答案 2 :(得分:-1)

添加System.Configuration框架。然后加  #import in pch。也许问题出现在Configuration框架中。