从AFNetworking直接获取NSData,而不是让它转换为UIImage

7

有没有一种标志可以让我获取NSData,而不是让AFNetworking将我的responseData转换为相应的数据类型(UIImage,NSString)?


1
可以做到,但你是如何获取图像的?你使用UIKit扩展还是AFHTTPRequestOperationManager/AFHTTPRequestOperation? - David Snabel-Caunt
AFHTTPRequestOperationManager - SirRupertIII
2个回答

11

AFHTTPResponseSerializer 将会返回原始的 NSData 数据:

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    [manager GET:... parameters:... 
         success:^(AFHTTPRequestOperation *operation, NSData *responseObject) {} 
         failure:...];

0

AFN中的responseData表示(id) - AnyObject。

您可以创建另一个对象,例如NSMutableArray。 然后进行myArray = responseObject;等操作 - 例如


我知道我可以将其转换为任何类型,但这不会改变对象的实际数据。 - SirRupertIII
不,你将获得相同的数据,只是转换为你需要的格式。 - Anton
那对我没有帮助。 - SirRupertIII
UIImage *image = [[UIImage alloc] init]; NSData *data = (NSData *)image; // data将让我在NSData上调用方法,但是如果你在控制台中查看,data实际上是一个UIImage。如果我在data上调用UIImage上不存在的方法,我将会得到一个异常。 - SirRupertIII
使用UIImage *image = [[UIImage alloc] initWithData:data]; - Anton
让我重新措辞我的问题。我会在今天晚些时候做,感谢您的回复。 - SirRupertIII

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接