- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我试图在线访问一个 json 文件,当我使用 AFHTTPRequestOperation 方法运行完成 block 时,我可以获取 JSON 文件的内容。但是当我尝试在完成 block 之外使用 NSLog 时,它变为空。我想知道为什么会这样,我将如何解决这个问题。以下是我到目前为止的代码:
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCredential:credentials];
[operation setResponseSerializer:[AFJSONResponseSerializer alloc]];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success %@", responseObject);
jsonOutputData = [NSMutableArray arrayWithObject:responseObject];
self.newsFeedArray = [NSMutableArray arrayWithArray:[jsonOutputData copy]];
}failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"Failure: %@", error);
}];
[manager.operationQueue addOperation:operation];
NSLog(@"%@", self.newsFeedArray);
带有 Success 的 NSLog 显示 JSON,但带有 self.newsFeedArray 的 NSLog 显示 (null)。我只是想知道为什么会这样。如果您需要更多说明,请告诉我。任何帮助,将不胜感激!
谢谢!
最佳答案
成功和失败 block 被异步调用。所以 self.newsFeedArray
在最后一次 NSLog
调用时还没有设置,因为操作还没有完成。
您可以等待操作完成(例如,[operation waitUntilFinished]
)但您几乎肯定不想这样做,尤其是在主线程上。而是让完成 block 触发所需的行为。
关于ios - AFNetworking + AFHTTPRequestOperation 无法保存数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308994/
我正在 swift 中使用 AFNetworking,并且在将以下代码转换为 swift 时遇到问题 objective-c [client GET:url parameters:nil succes
使用发送几个post请求 - (AFHTTPRequestOperation *)POST:(NSString *)URLString parameters
如何中断执行 AFHTTPRequestOperation?如果 HTTP 请求已经开始但尚未完成,这是否可能? 最佳答案 中断是什么意思?如果您想取消操作,则只需调用 -cancel 即可。请参阅:
我搜索了很多并看到了一些答案,但我仍然不确定如何解决它:我只想在操作完成时执行一些 void 函数。 我的代码: NSMutableURLRequest *request = [NSMutableUR
我有这样一种情况,我需要向服务器发出多个请求,而后续请求将取决于先前的请求 1) request 1 2) process data 3) request 2 based on data in ste
我的应用程序中有一些网络服务调用。这是我如何调用它们的示例 +(void) login:(NSDictionary *) loginParams { AppDelegate *appDeleg
有没有办法取消 AFHTTPRequestOperation?例如,我用它来下载 PLIST。所以我打算有一个按钮来取消下载或任务。有办法吗? 更新: operationQueue = [NSOper
伙计,被这个难住了。尝试使用 AFNetworking 下载文件我能做的最好的事情就是在 downloadProgressBlock 中捕获进度字节。我已经尝试了许多不同的 AFNetworking
我使用的是最新的 AFNetworking V2.0。如果可达性可用,我已经设置了一系列要在 AFHTTPRequestOperationManager 的操作队列上运行的操作。我在 appDeleg
我在 swift 中使用AFHTTPRequestOperation,如下所示: let operation : AFHTTPRequestOperation? = manager.GET(reque
我是 objective-c 的完全菜鸟,所以请原谅这个愚蠢的问题。 我已经能够按照 AFNetworking 2.0 的指南使用 AFHTTPRequestOperationManager 发送帖子
我有一个用于测试 AFNetworking 的应用程序API。它从服务器下载文档并将它们放置在应用程序的沙箱中。用户可以开始下载、暂停/恢复下载和取消下载。按预期启动、暂停和恢复所有工作。然而,取消做
使用 iOS 有一段时间了,但现在我在一个复杂的客户端-服务器应用程序中工作,这需要我: 向服务器发送请求(使用 AFHttpRequestOperation)响应是一个区间或一个字典 如果我得到一个
我正在连接到我自己的 Web 服务,我认为它正在发回一个 gzipped 响应,该响应由 AF Networking 库在后台解压缩。当存在接受编码 gzip header 时,我已验证我的服务器正在
所以我试图在线访问一个 json 文件,当我使用 AFHTTPRequestOperation 方法运行完成 block 时,我可以获取 JSON 文件的内容。但是当我尝试在完成 block 之外使用
我正在尝试制作一个使用 AFHTTPClient 与 API 通信的 iOS 应用程序。第一步是对用户进行身份验证,为此,我使用以下代码: -(void)authorize { NSURLRe
我希望函数在 AFHTTPRequestOperation 完成之前不返回,但我不知道该怎么做,在此先感谢。 -(BOOL)download { BOOL ret = TRUE; AFHTTPRequ
我刚刚更新到 AFNetworking 2.0,我正在重写我的代码以下载数据并将其插入到核心数据中。 我下载 JSON 数据文件(从 10-200mb 文件不等),将它们写入磁盘,然后将它们传递给后台
我发现自己在整个代码中使用 AFHTTPRequestOperationManager 重复了很多代码,所以我在考虑将它子类化,这样我就可以将它设置为一个单例,然后将所有代码放在子类,而不是通过我的项
我在使用 AFNetworking 时遇到问题。我在我的代码中这样写: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperation
我是一名优秀的程序员,十分优秀!