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

fail to set timeoutInterval when using subclass of AFHTTPRequestOperationManager

我做了一个AFHTTPRequestOperationManager的子类,想设置超时为3秒。

[netMgr.requestSerializer setTimeoutInterval:3.f];

但是没用。

我可以弄清楚这是因为当键为timeoutInterval

时,自动键值观察returns NO in automaticallyNotifiesObserversForKey

谁能告诉我原因,或者设置请求超时的正确方法是什么?

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

发出的请求的 NSMutableURLRequest 对象的修改

我不得不假设 mattt 有关闭此通知的原因(看起来这是对问题 #2523 的回应,可能应该重新考虑),所以在解决此问题之前,我建议一个只是手动发布通知。

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

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