У меня есть кнопки в динамических ячейках моего UITableViewController
. Я поставил их там программно с кодом ниже. Если я нажму кнопку, то UITableView
исчезнет, и я получу пустой экран. Когда я возвращаюсь на ViewController и снова возвращаюсь к UITableViewController
, все кажется нормальным + URLConnection
выполнил свою работу. Что не так с моим кодом?Перезагрузка UITableView после нажатия UIButton в UITableViewCell
UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(voteButton:) forControlEvents:UIControlEventTouchDown];
button.frame = CGRectMake(276, 0, 44.0, 44.0);
[cell.contentView addSubview:button];
Метод, который она вызывает является voteButton:
- (void) voteButton:(UIButton *) sender {
NSString *urlstring = [NSString stringWithFormat:@"http://www.someurl.com", (long)sender.tag];
NSString *webStringURl = [urlstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *jsonFileUrl = [NSURL URLWithString:webStringURl];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:jsonFileUrl];
[NSURLConnection connectionWithRequest:urlRequest delegate:self];
[self.tableView reloadData];
}
Как я могу перезагрузить UITableView
после нажатия кнопки?
ОТВЕТ
NSURLConnection
не была закончена до TableView
был перезагружен, чтобы он не смог ничего показать. Я положил [self.tableview reloadData];
в функцию с connectionDidFinishLoading
, и теперь нажатие кнопки работает.
Хорошо, я понимаю, что вы говорите, но у меня есть несколько NSURLConnections в моем UITableViewController, как функция connectionDidFinishLoading теперь, с которой NSURLConnection только что закончилась? –
@ speetje33 создает NSURLConnection как переменную для всего файла .m. Затем, когда он закончит загрузку, проверьте, что запрос url равен переменной. Или вы можете сделать синхронный запрос, если это всего лишь небольшие объемы данных. –
Спасибо, я получил его работу. Я выполнил следующие инструкции: [link] (http://stackoverflow.com/questions/9062393/how-can-we-handle-multiple-nsurlconnection-in-iphone-xcode) –