2

这是一些代码,我们在其中设置了一个NSHTTPURLResponse对象:

NSString * data = @"response successful";
NSUInteger length = [data length];
NSDictionary * headersDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedInt:length], @"Content-Length", nil];

NSHTTPURLResponse * response = [[NSHTTPURLResponse alloc] initWithURL:[request URL] statusCode:200 HTTPVersion:@"1.1" headerFields:headersDict];

headersDict如果我们将其作为参数,以下代码将在最后一行崩溃。

错误:testReportAppOpenToAdMobWithAppstoreId (AdTrackerTests) 失败:-[__NSCFNumber 长度]:无法识别的选择器发送到实例 0xf653f40

我不知道它为什么会崩溃。调试表明这headersDict很好,我怀疑苹果的错误。

有任何想法吗?

4

1 回答 1

4

NSHTTPURLResponse可能期待一个NSString,而不是一个NSNumber。尝试将length值转换为NSString.

于 2012-07-04T07:38:42.120 回答