未知类型名称 AFJSONRequestOperation
Posted
技术标签:
【中文标题】未知类型名称 AFJSONRequestOperation【英文标题】:Unknown type name AFJSONRequestOperation 【发布时间】:2014-01-22 14:26:55 【问题描述】:我目前正在处理this tutorial。我已经安装了 AFNetworking,但是当我输入这段代码时,我在第 7 行和第 8 行出现错误,上面写着 Unknown type name AFJSONRequestOperation
和 No 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_ */
【问题讨论】:
你错过了#import
...
所有这些文件都导入了:github.com/AFNetworking/AFNetworking/tree/master/AFNetworking 就像我说的,一定是缺少了什么
全部?听起来有点矫枉过正。
看看我的编辑
我没注意到AFJSONRequestOperation.h
。
【参考方案1】:
您使用的是哪个版本的AFNetworking
?好像您使用的是 2.x 版,而 AFJSONRequestOperation
来自 1.x 版。
参见此处:https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide
【讨论】:
【参考方案2】:我猜对 OP 来说太晚了,但我遇到了这个问题,因为在源文件夹周围有两个 AFNetworking
副本。我的CocoaPods
安装中的一个和之前的一个尚未删除。
我通过在错误消息的编译命令输出中搜索“AFNetworking”发现了这一点,该错误消息向我显示了我没想到的 AFNetworking 副本。
转储非 pod 副本将其全部修复。
【讨论】:
【参考方案3】:添加 System.Configuration 框架。然后加 #在 pch 中导入。也许问题来自配置框架。
【讨论】:
以上是关于未知类型名称 AFJSONRequestOperation的主要内容,如果未能解决你的问题,请参考以下文章