UITableViewのイベントが正しく動かない

 

UITableView がタップされた時のイベントdidSelectRowAtIndexPath で UIAlertController 関連のイベントが正しく動作しなかった。

dispatch_after 、dispatch_async などから、別スレッドを起こして、を使うパターンをためしたけど、うまくいかない。

自分は、タイマーを使ったらうまくできた。

 

//TableViewがタップされた時のイベント
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    // タイマーを作成してスタート
    NSTimer *tm =    [NSTimer    scheduledTimerWithTimeInterval:0.01f
                                                         target:self
                                                       selector:@selector(func1:)
                                                       userInfo:nil
                                                        repeats:NO
                      ];
}

-(void) func1:(NSTimer*)timer{
    NSIndexPath* indexpath = [self.tableView indexPathForSelectedRow];
    NSString* message =[NSString stringWithFormat:@"%zd" ,indexpath.row ];
}    

 

 

 


参考

スレッドプログライミング
https://developer.apple.com/jp/documentation/Multithreading.pdf