Tag: hanetworking

CoreData与GCD队列中的AFNetworking请求不兼容?

我正在使用GCD启动一个长期运行的后台进程('run_loop'),它创build一个NSManagedObjectContext('MOC'),监视CoreData对象,有时(准备好的时候)将它们的序列化上传到一个Web服务器,然后删除它们。 我正在使用AFNetworking进行HTTP调用。 问题在于请求完成处理程序块,因为这些块在不同的线程中运行,而不是由CoreData支持的MOC所有者。 我已经尝试从GCD run_loop块的开始存储NSThread,并使用performSelector:onThread:run_thread,但这似乎并没有真正调用select器。 我曾尝试使用dispatch_sync(run_queue),但这并不保证线程是一样的,只有GCD队列。 主线程中保存的另一个MOC稍后挂起。 最终,唯一有效的工作是在完成callback处理程序中设置布尔值,并引入额外的逻辑来检测布尔开关,并从主run_loop执行MOC工作。 任何人都可以build议一个更优雅的修复? 或者CoreData与从GCD队列启动的AFNetworking请求不兼容,我应该从头看一下低级的线程控制?

AFNetworking在发送请求的JSON参数中发送数组

我试图通过POST发送参数到我的服务器,它通常工作,但我不知道如何发送包含数组的JSON作为参数之一。 以下是我所尝试的: AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:myURL]]; NSMutableArray *objectsInCart = [NSMutableArray arrayWithCapacity:[_cart count]]; for(NSDictionary *dict in _cart) { NSObject *object = [dict objectForKey:@"object"]; NSDictionary *objectDict = @{@"product_id": [NSString stringWithFormat:@"%d",[object productID]], @"quantity": [NSString stringWithFormat:@"%d", [[dict objectForKey:@"count"] intValue]], @"store_id": [NSString stringWithFormat:@"%d", [Store getStoreID]], @"price": [NSString stringWithFormat:@"%.2f", [object price]]}; [objectsInCart addObject:objectDict]; } NSError *error = nil; […]

AFOAuth2Client和刷新令牌

如何在iPad应用程序中实现Oauth? AFOAuth2Client如何pipe理oauth 2.0中的刷新令牌机制? 有没有什么方法可以在课堂上实现,还是我们必须以自己的方式来实现呢? 如何检查令牌是否过期?