我已经实现了AFNetworking
,而没有使用子类化AFHTTPClient
,其中部分代码在我的DownloadQueueManager
中使用了以下代码:
-(void)downloadPodcastAt:(NSString *)url toPath:(NSString *)path
{
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReturnCacheDataElseLoad
timeoutInterval:60.0];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
[self saveQueuedItemInformation];
} failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
// Other stuff
}];
[operation start];
}
我的问题有几个方面。我已经谷歌搜索了很多次,但仍然找不到一个使用
AFNetworking
简单易懂地检查可达性状态的代码示例(奇怪的是,这里有很多关于导入SystemConfiguration.framework
的讨论,这似乎是一个不需要思考的问题)。所以,如果我的用户想要最小化他们的数据使用量,并且只使用wifi下载,我该如何检查wifi是否可用,并且只在wifi可用时下载?其次,似乎
AFNetworking
希望成为一个用户友好的前端。但实际上,我可能需要一个前端来处理这个前端,因为其中有很多东西需要筛选才能找到需要的内容。我只需要访问一个url,根据可达性下载一个xml文件,并对其进行操作。我是否错过了使这个任务变得简单的东西?当我理解这个问题时,我完全可以构建一个或五个前端来简化实现(假设我不是个傻瓜)。提前感谢任何回复。
Reachability
不是 AFNetworking 的一部分,您必须依赖它的通知或手动进行状态检查。这是有道理的,因为您可能希望在用户尝试加载某些内容之前检查其连接性,并且网络操作可以使用缓存或返回错误。 - A-Live