AFNetworking报错,不能回调


今天在尝试用AFNetworking,但是请求貌似没有发出的样子

@interface TestAFNetworkingClient : AFHTTPClient

+ (TestAFNetworkingClient *)sharedClient;

@end

@implementation TestAFNetworkingClient

+ (TestAFNetworkingClient *)sharedClient
{
    static TestAFNetworkingClient *_sharedClient = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _sharedClient = [[TestAFNetworkingClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://example.com/"]];
    });

    return _sharedClient;
}

- (id)initWithBaseURL:(NSURL *)url {
    self = [super initWithBaseURL:url];
    if (!self) {
        return nil;
    }
    return self;
}
@end

@implementation TestAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

}
            TestAFNetworkingClient *afClient = [TestAFNetworkingClient sharedClient];
            [afClient getPath:@"testfile.txt"
                   parameters:nil
                      success:^(AFHTTPRequestOperation *operation, id responseObject) {
                      NSLog(@"Success.");
                      }
                      failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                          NSLog(@"error.");
                      }];

这个代码运行起来,貌似block里的两段代码都没有运行
我换了更简单的代码

AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://baidu.com"]];
    [client getPath:@"" parameters:nil success:^(AFHTTPRequestOperation *op, id obj) {NSLog(@"success.");} failure:nil];

也是一样没效果
偶尔还会报错

ADDRESPONSE - ADDING TO MEMORY ONLY: http://baidu.com/

afnetworking ios

GlkGlk 10 years, 12 months ago

你需要注册Operation Class.


 - (id)initWithBaseURL:(NSURL *)url {
self = [super initWithBaseURL:url];
if (!self) {
    [self registerHTTPOperationClass:[AFHTTPRequestOperation class]];
    return nil;
}
return self;

}

老衲不是和尚 answered 10 years, 12 months ago

Your Answer