iOS 用editActionsForRowAtIndexPath:删除cell时候回出现崩溃

13人阅读 评论(0) 收藏 举报
分类:

先上代码


// 删除cell操作

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {

    

    __weak typeof(self)weakSelf = self;

    UITableViewRowAction *delete = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

        [weakSelf.dataSource removeObjectAtIndex:indexPath.row];

        [tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

    }];

    return @[delete];

}


报错如下:


*** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3698.52.10/UITableView.m:2012


哈哈哈哈哈哈,,,忍不住笑自己逗比了,哈哈哈哈


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return _dataSource.count; // 刚刚这里调试之前写死的数据,哈哈哈哈

}


再不行,看到网上有人添加了两句


// 删除cell操作

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {

    

    __weak typeof(self)weakSelf = self;

    UITableViewRowAction *delete = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {

        [weakSelf.dataSource removeObjectAtIndex:indexPath.row];

        [tableView beginUpdates]; // 开始刷新

        [tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

        [tableView endUpdates]; // 结束刷新

    }];

    return @[delete];

}


但是本人亲测,要不要这两句都一样可以正常运行,等下再看看是否会有其他影响。

查看评论

解决使用editActionsForRowAtIndexPath添加删除按钮,6Plus不响应的办法

在真机测试时,碰上一个问题,在删除cell时,模拟器上删除按钮可以出来,但是到真机上面就不行,不响应,找到一个麻烦的解决办法,就是把删除cell的两个方法全部写上(上一个博客有一个删除cell的方法,...
  • Super_ZheZhe
  • Super_ZheZhe
  • 2016-04-29 12:10:22
  • 4337

删除cell时,出现崩溃的情况的原因

一、删除cell时,出现崩溃的情况的原因:在 UITableView 中,做删除操作时,我们会使用一下这个方法:[tableView deleteRowsAtIndexPaths:[NSArray a...
  • zhengang007
  • zhengang007
  • 2015-11-11 11:22:40
  • 1825

iOS 8 TableviewCell侧滑出现更多Button

原创Blog,转载请注明出处 blog.csdn.net/hello_hwc效果: iOS 8之前,需要自己定制UITableviewcell来实现,IOS 8以后,只需要添加两个简单的代理函...
  • Hello_Hwc
  • Hello_Hwc
  • 2015-05-10 11:33:46
  • 2649

UICollectionView删除cell时崩溃的问题

今天在项目中添加一个UICollectionView的cell上滑动删除的效果的时候遇到下面的崩溃信息。 *** Assertion failure in -[UICollectionView _e...
  • ITzaibadong
  • ITzaibadong
  • 2015-05-13 16:49:31
  • 5807

iOS UITableViewCell侧滑删除遇到的坑

做项目中遇到一个小问题,给大家分享一下 以前做删除是这样,实现UITableView的代理方法即可 // 设Cell编辑 - (BOOL)tableView:(UITableView *)tabl...
  • zouyunling1990
  • zouyunling1990
  • 2017-02-06 10:54:39
  • 5155

iOS开发笔记--解决UITableView中Cell重用机制导致内容出错的方法总结

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击...
  • hopedark
  • hopedark
  • 2014-05-23 13:26:48
  • 4480

关于tableview的知识总结,cell左划出现删除、置顶按钮

tableview是一个表视图控件,在ios开发过程中用处最多的一个控件。它继承与UIScrollView,有两种样式 UITableViewStyleGrouped和UITableViewStyle...
  • sharmir
  • sharmir
  • 2016-04-12 14:38:51
  • 1719

UITableViewCell左滑动删除 和cell上按钮的点击事件

// //  ViewController.m //  UITableViewCell左滑动删除 // //  Created by XKDX.NET on 16/4/13. ...
  • iOSbird
  • iOSbird
  • 2016-04-15 19:33:04
  • 5239

iOS刷新某个cell时候crash

//一个section刷新     NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];     [tableview reloadS...
  • s133315202
  • s133315202
  • 2015-06-29 20:34:33
  • 1263

iOS-分组UITableView删除崩溃问题(当删除section中最后一条数据崩溃的情况)

错误: The number of sections contained in the table view after the update (1) must be equal to the num...
  • Dancer2015
  • Dancer2015
  • 2016-01-22 19:39:09
  • 4504
    个人资料
    持之以恒
    等级:
    访问量: 6234
    积分: 514
    排名: 9万+
    文章分类
    最新评论