使用AFHTTPRequestOperationManager的子类时无法设置timeoutInterval

时间:2015-02-14 06:14:59

标签: ios cocoa-touch afnetworking

我创建了AFHTTPRequestOperationManager的子类,并希望将超时设置为3秒。

[netMgr.requestSerializer setTimeoutInterval:3.f];

但它不起作用。

我可以弄清楚这是因为当密钥为NO时,automaticallyNotifiesObserversForKey中的自动键值观察返回timeoutInterval

有人可以告诉我原因,或者设置请求超时的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

我同意。二十一天前,提交0f3829f关闭了这些属性的自动通知。它是这些属性的观察者,可确保任何请求序列化程序属性更改转换为NSMutableURLRequest对象的修改,以便通过AFHTTPRequestOperationManager发出请求。

我必须假设mattt有理由关闭此通知(看起来它是对问题#2523的回应,应该重新考虑),所以在这个问题得到纠正之前,我只建议一个手动发布通知。

[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = ...;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];

请注意,这已于2015年3月26日在提交7d8e286中修复。