我試圖獲得2個單獨的JSON數據對象,其中包含2個Twitter用戶訂閱源,但遇到了很多麻煩。我想同時處理它們,並將它們放在桌子上,但遇到困難。將兩個單獨的JSON數據對象合併爲一個目標C
我有一個全局的NSMutableData可以獲取每個附加到它的JSON請求。一旦所有它在一個地方即時嘗試然後用全局NSMutableData更新表。 allTheData是全局的NSMutable對象。
if ([twitterAccounts count] > 0) {
while (accountsize != [twitterAccounts count]) {
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
[allTheData appendData:responseData];
}];
accountsize = accountsize + 1;
}}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self performSelectorOnMainThread:@selector(receiveData:) withObject:allTheData waitUntilDone:YES];
});
- (void)receiveData:(NSData *)data {
self.tweets = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
[self.TwitterTableView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [[UITableViewCell alloc] init];
NSDictionary *tweet = [self.tweets objectAtIndex:indexPath.row];
cell.textLabel.text = [tweet objectForKey:@"text"];
return cell;
}
每當我運行此代碼崩潰,並吐出了以下
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
*第一擲調用堆棧: (0x2622012 0x131ae7e 0x2621deb 0xe4f817 0x568c 0x132e6b0 0xd5b035 0x25a5f3f 0x25a596f 0x25c8734 0x25c7f44 0x25c7e1b 0x290d7e3 0x290d668 0x26265c 0x258d 0x24b5) libC++ abi.dylib:終止調用拋出異常
現在編輯並提供更多信息 – user1257220
請添加「receiveData」的代碼,如果您的代碼段被封閉在另一個塊中,請添加相關代碼。或者至少解釋第5行關閉的「}}」。 – Stavash
@ user1257220看到我編輯的答案 – Stavash