對tableView執行刪除操做執行後,UIButton的tag值是不會更新的,只有在執行[_tableView reloadData]方法(或滑動列表,這時會調用cellForRowAtIndexPath方法)才能刷新。spa
因此這時TableViewCell中的button.tag值已經不對了。code
獲取indexPath的正確方法是:blog
-(void)deleteButtonPress:(UIButton*)sender { //首先得到Cell:button的父視圖是contentView,再上一層纔是UITableViewCell UITableViewCell*cell=(UITableViewCell*)sender.superview.superview; //而後使用indexPathForCell方法,就獲得indexPath了~ NSIndexPath*indexPath=[_tableView indexPathForCell:cell]; }