-(void)didTapAudioButton:(UIButton*)sender {
[tableView reloadData];
UIButton* senderButton = (UIButton*)sender;
NSUInteger index = sender.tag;
NSString *audioFilePath = @"someAudioFilePath.mp3";// I didn't add the original audiofile path for security reasons
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:audioFilePath]];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
audioPlayer.delegate = self;
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
{
NSLog([error description]);
}
else
{
[audioPlayer play];
}
}
我正在使用此功能在URL字符串路径上点击按钮播放音频文件。音频播放正常,但问题是在此函数结束时调用了[tableView reloadData]函数。我希望tableView重新加载拳头,然后转到下一行,即 UIButton * senderButton =(UIButton *)发件人; 有人能告诉我如何在播放音频之前重新加载tableview吗?任何形式的帮助将不胜感激。感谢。
答案 0 :(得分:0)
我使用以下一行:
[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
[self.tableView layoutIfNeeded];
它会等到方法完成。