2012-07-04 47 views
1

下面是一些代碼,我們在那裏建立了一個NSHTTPURLResponse對象:NSHTTPURLResponse的initWithURL方法崩潰,如果我們設置標題「的Content-Length」

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作爲參數。

error: testReportAppOpenToAdMobWithAppstoreId (AdTrackerTests) failed: -[__NSCFNumber length]: unrecognized selector sent to instance 0xf653f40

我不知道它爲什麼崩潰。調試顯示headersDict是好的,我懷疑是蘋果方面的一個錯誤。

任何想法?

回答

4

NSHTTPURLResponse可能期望NSString而不是NSNumber。嘗試將length的值轉換爲NSString

+0

是的,你是對的,謝謝。 – jianhua

+1

「NSHTTPURLResponse」標題中的每個鍵和值都期望有一個「NSString」...哦,我的2小時.... – chao787

相關問題