NSURLConnection、NSMutableURLRequest 设置范围错误

Posted

技术标签:

【中文标题】NSURLConnection、NSMutableURLRequest 设置范围错误【英文标题】:error for setting range for NSURLConnection, NSMutableURLRequest 【发布时间】:2011-08-08 13:49:09 【问题描述】:

我正在尝试通过使用实现下载恢复功能 setValue:forHTTPHeaderField。 但是每当我使用该方法时,我都会得到一个

[NSURLRequest setValue:forHTTPHeaderField:]: 无法识别的选择器 发送到实例 0x4e0b710 2011-08-08 22:44:36.469 Patch[9140:207] * 由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[NSURLRequest setValue:forHTTPHeaderField:]: 无法识别的选择器发送到实例 0x4e0b710'

错误。

如果没有该方法,我的代码可以正常工作,但是当我包含此代码时,我得到了上面的错误

NSMutableURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:URL]
                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                     timeoutInterval:60.0];

//---------------- setting range for download resume -----------------------
NSString* range = @"bytes=";
range = [range stringByAppendingString:[[NSNumber numberWithInt:offset] stringValue]];
range = [range stringByAppendingString:@"-"];
NSLog(@"range: %@", range);

[request setValue:range forHTTPHeaderField:@"Range"];

请帮帮我...非常感谢

【问题讨论】:

【参考方案1】:

您需要使用NSMutableURLRequest 创建一个NSMutableURLRequest

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URL]
                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                     timeoutInterval:60.0];

【讨论】:

以上是关于NSURLConnection、NSMutableURLRequest 设置范围错误的主要内容,如果未能解决你的问题,请参考以下文章

过滤自定义对象的 NSMutable 数组

如何将 NSString 值设置为 NSMutable 字典?

NSUserDefaults NSMutable 数组未在会话之间保存

将对象添加到排序的 NSMutable 数组并回答索引路径

如何将 NSMutable 数组中的数据存储在 Core Data 中?

如何将NSMutable数组附加到现有文件中