首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在iOS11中快速连续滑动删除UITableView的单元格会崩溃

在iOS11中,快速连续滑动删除UITableView的单元格可能会导致应用崩溃。这是由于在快速滑动过程中,UITableView会尝试同时删除多个单元格,而这可能会导致数据源和界面的不一致,从而引发崩溃。

为了解决这个问题,可以采取以下几种方法:

  1. 限制滑动速度:可以通过自定义UITableViewDelegate的willBeginEditingRowAt方法,在滑动开始时检测滑动速度,如果速度过快,则禁止编辑操作,从而避免崩溃。
  2. 异步处理删除操作:可以在删除单元格时,将删除操作放在一个异步队列中执行,以确保数据源和界面的一致性。可以使用GCD或者NSOperationQueue来实现异步处理。
  3. 添加数据源保护机制:可以在数据源中添加保护机制,确保在删除操作进行时,不会出现数据源被修改的情况。可以使用锁或者信号量等机制来实现数据源的保护。
  4. 使用第三方库:可以考虑使用一些第三方库来处理UITableView的删除操作,这些库通常会提供更加稳定和可靠的删除功能,避免崩溃问题的发生。

总结起来,解决在iOS11中快速连续滑动删除UITableView单元格导致崩溃的问题,可以通过限制滑动速度、异步处理删除操作、添加数据源保护机制或者使用第三方库等方法来解决。具体的实现方式可以根据具体的需求和场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你可能需要为你 APP 适配 iOS 11

本文介绍iOS11UI方面做了哪些更新,有些更新可以为用户提供更加完美的体验,但也有的可能会给目前APP带来异常bug 前言 前几天发现在做APP iOS11 系统上动画有异常,在其他系统设备上都是正常...UIKit’s Bars中加入新功能 WWDC通过iOS新增文件管理App:Files开始介绍,Files这个APP能够看到iOS11UIKit’s Bars一些新特性:浏览功能上大标题视图...(向上滑动后标题回到原来UI效果)、横屏状态下tab上文字和icon变为左右排列。...UIScrollView and UITableView新特性 Scroll Views 如果有一些文本位于UI滚动视图内部,并包含在导航控制器,现在一般navigationContollers传入一个...cell,直接执行删除操作,不用再点击删除按钮,这也是一个好玩更新。

1.6K60

Ios常用第三方框架(二)

HorizontalScrollCell - HorizontalScrollCell是一款使用方便水平方向可滚动单元格,适用于UICollectionView实现水片方向滚动视图。 。...Atlas-iOS - 快速iOS里集成聊天功能,类似开源版本环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂东西直接都帮封好了。...QuickRearrangeTableView - 基于 UITableView 快速重排功能扩展子类。通过长按选定单元格然后滚动移动到指定位置。...MGSwipeTableCell - 另一个常见于很多应用UI组件,苹果应该考虑标准iOS SDK中加入一些类似的内容。Swipeable表格cell是这个pod最佳描述,也是最好。...MTMaterialDelete - 非常有趣Material Design动画,动画删除表里面的单元格

7.6K60

Swift - 给TableView添加编辑功能(删除,插入)

[indexPath.row] print("str\(str)") } // 设置单元格编辑样式 func tableView(_ tableView: UITableView, editingStyleForRowAt...{ return "确认删除" } // 单元格编辑后响应方法 func tableView(_ tableView: UITableView, commit editingStyle:...tableView.reloadData() } } 功能改进 (1)默认情况下所有单元格都无法进行滑动删除等编辑操作。...(2)长按表格进入编辑状态,所有单元格都可以进行删除操作。 (3)同时在编辑状态下,在下方自动出现一个新增操作单元格。点击前面的加号,便会给数据集中添加一条新数据。 ?...{ return "确认删除" } // 单元格编辑后响应方法 func tableView(_ tableView: UITableView, commit editingStyle:

3K20

底牌项目中选择牌谱上传功能--深刻理解UITableView复用

此界面的布局: 此界面由UITableView构成,根据日期不同设置单元格单元格内是一张张图片,每张图片上添加了一个按钮用于选择图片。...问题: 选中一张图片后会将该图片存储到一个数组以便上传,可当再次点击按钮取消选中图片时却不知道该如何将该图片从数组删除。...解决: Cell制定协议设置代理,选中图片按钮点击事件如果代理响应了协议方法则让代理执行该方法。关键:该方法要将图片信息传递过去。...选择图片和反选图片问题解决后又有了新问题。 问题: 选中一张图片,然后滑动UITableView,这时发现之前选中图片变成了没选中,如果是刷新和加载同样会出现这样问题。...UITableView复用可以节省内存空间,可如果不理解其本质地使用就会出现我所说问题,有时还会出现同样内容重复出现问题(第一个单元格内容发生变化,后面的单元格复用第一个单元格,其上内容也和第一个单元格内容相同

1.1K10

《iOS Human Interface Guidelines》——Table View表视图

API NOTE 查看Table View Programming Guide for iOS和UITableView来学习更多关于在你代码定义表视图内容。...两种风格,表行会在用户点击选中时简短地高亮。如果一行选择导致导航到一个新界面,选中行会高亮并且伴随着新界面滑动进来。...用户通过连续列表中选择条目来跟踪路径。扩展指示器告诉用户点击行任何地方都会在新列表显示子集信息。 显示概念上分组信息。两种表视图风格都允许你通过信息章节间页眉和页脚视图来提供上下文。...如果这有助于用户更好地理解你app工作方式,你可以创建一个标题来代替系统提供删除标题。 尽可能地使用简洁文本来避免截断。截断单词和短语让用户很难浏览和理解。...文本截断在所有表单元格风格中都是自动,但是根据你使用单元格风格和截断发生位置造成不同问题。 不要将索引和显示表右边界表视图元素结合在一起。

2.4K20

DTCoreText集成与使用目录一、相关资源二、DTCoreText集成三、DTCoreText使用四、可能遇到错误五、参考链接

//DTCoretText解析Html时候,如果遇到网络图片插入一个占位符 //对于图片类型(DTImageTextAttachmentd)占位符,我们使用DTLazyImageView来显示...DTAttributedTextView是支持滑动显示富文本视图,使用时计算富文本Frame也就没那么必要了,一般我们都会指定它Frame。其在这里用法就不累述了。...,并更新单元格数据 //ZSDTCoreTextCell是自定义继承于DTCoreTextCell单元格 - (ZSDTCoreTextCell *)tableView:(UITableView...如果当前表视图滑动就不执行刷新,因为滑动时候自动调用表视图刷新方法 - (void)reloadCurrentCell{ if (self.isScrolling) {...return; } //如果当前表视图没有滑动,就手动刷新当前屏幕显示单元格 NSArray *indexPaths = [self.tableView indexPathsForVisibleRows

4.7K90

埋点统计~~从UITableView数据曝光说起

控件iOS移动端承载这丰富信息输出,用户使用浏览中会留下丰富数据采集信息 A用户慢慢逐条浏览呈现产品 B用户往往快速滑动进行浏览 C用户快速翻页进行浏览 上面的三种用户基本涵盖了这个...目前可以这么定义---当页面滑动结束或首次加载完成时呈现给用户所有商品均算是曝光 UITableView中用户浏览略过商品条目 这个就有意思了,用户快速浏览可能快速滑动翻页,更有甚者直接快速滑动之后让列表自己滑动...,UI阻尼情况下慢慢自动静止,那么这被用户快速划过忽略就是商品条目就是产品没有曝光数据。...对于用户滑动过程忽略掉条目比较复杂--上滑 下滑 手指按着屏幕滑动 讲解之前我们先要处理一个问题:怎么判断屏幕滑动方向 系统我们根据给定Pan手势移动来判断 extension UIScrollView...采集结果 我们来分析一下这个结果是如何获取 1 记录最底部位置(需要完全展示)v0 2 滑动之后自由滑动需要超过一屏幕 3 结束滑动记录顶部位置v99+ 那么v0~v99+ 之间即是快速滑动过程没被用户认真浏览数据

1.3K32

解决UITableViewCell重用机制导致内容出错方法总结

UITableViewcell可以有很多,一般会通过重用cell来达到节省内存:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格种类,当cell滚出屏幕时...,会将滚出屏幕单元格放入 重用queue,当某个未在屏幕上单元格要显示时候,就从这个queue取出单元格进行重用。...比如,当一个cell含有一个 UITextField子类并被放在重用queue以待重用,这时如果一个未包含任何子视图cell要显示屏幕上,就会取出并使用这个重用 cell显示无任何子视图cell...,虽然可能浪费一些空间。...cell所有子视图 这个方法是通过删除重用cell所有子视图,从而得到一个没有特殊格式cell,供其他cell重用。

2.3K50

OC观察者模式之KVO使用与思考

,比如tableview数据发生变化进行刷新列表操作,监听 scrollViewcontentOffset属性监听页面的滑动. 2.KVO使用方法 KVO使用可分为自动监听和手动监听。...5.KVO实现过程注意事项 iOS 10以下会有这些情况,iOS11不会出现这些情况,但是为了代码严谨性,以及以防出现无法预知错误,还是避开这些比较好。...1、添加观察者次数与remove次数不匹配导致程序崩溃 连续对同一属性添加观察者是可以,但是也要保证移除观察者时候也要移除对应次,不然可能引发崩溃iOS11以上不会崩溃)。...2、移除不存在观察者(iOS11以上不会崩溃) 当某个对象并没有添加观察者时,却执行了移除观察者操作,也导致程序崩溃,此处不附相关代码。...3、被观察者销毁时还存在观察者(iOS11以上不会崩溃) 这种情况常出现在复杂逻辑下,观察者先于被观察者销毁[9] 4、KVO 行为是同步,并且发生与所观察值发生变化同样线程上。

1.4K30

扒虫篇-Bug日志Ⅴ

4.iOS9系统手机上使用SDWebImage不显示图片,iOS10、iOS11手机上、模拟器上都是显示 因为网络请求链接使用是 https 所以info.plist中就没有设置App Transport...Security Settings 结果使用SDWebImage加载图片 iOS10、iOS11手机上、模拟器上都是显示,可是 iOS9手机上就是不显示,无奈再次info.plist中就没有设置...5. iOS11上 MBProgressHUD 不显示 事情是这样iOS11之前手机上点击提交按钮都会提示“XXXX不能为空”,可是刚刚更新iOS11手机上,点击按钮时候并没有提示,当时以为是按钮没有触发点击事件...原代码 新代码 可以看到,iOS11应该是添加了新一层 UIInterrectiveHightEffectWindow ,而且是隐藏起来,所以加载上也是看不见,误以为按钮没有响应。...拖进工程链接中就可以解决这个问题啦 9.拖进工程图片就是不显示 这个问题是Xcode9经常出现问题 解决办法:把图片拖到 Images.xcassets 即可加载显示啦。

1K10

数据人必会Excel|掌握32个Excel小技巧,成为效率达人(一)

方法:选中开始单元格-按下Ctrl+Shift+方向键-实现快速选择至最边缘行或列。 ? 我们来个视频,进行学习下这个快捷键操作! ?...技巧二:快速移动光标至边缘单元格 同样面对大量数据,我们想要快速移动光标至边缘单元格也有相应快捷键,Ctrl+方向键(上下左右),有了这个快捷键之后,我们就不需要滑动鼠标一行一行去找最末尾单元格了...技巧八:快速选择区域 当提到快速选择连续区域时,你一定会想到直接通过鼠标进行框选,除了这个方法之外,我们也可以选中开始单元格,然后按住Shift,点击结束单元格,就选中起始单元格之间所有数据了。...对于选中不连续单元格,我们可以按住Ctrl,点击需要选中单元格。 ? 话不多说,直接上视频! ?...技巧九:冻结首行 在数据量很大情况下,我们上下滑动数据表格时候,列名也跟着滑动,对于我们阅读数据十分不便,所以这个时候我们需要冻结窗格。

1.7K20

一个多UITableview左右滑动简单解决方案

前言 本文源自实际开发需求,核心要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview滑动切换效果; 3、每个UITableview单独下拉刷新和上拉加载...如果在页面左右滑动同时,再进行上下滑动,就会触发UIScrollView上下滑动,造成异常现象(UITableView上下滑动不再生效)。...为了方便调用,有时会通过tag去快速获取view。...但是实际开发VCviewDidLoad方法中将其设置为NO,并没有生效,UIScrollView依旧下滑了20pt。...总结 多UITableviewVC本身已经有上万行代码,散布十几个Category里面。相对于老代码迁移,这次新增一个左右滑动功能代码简直是微不足道。

2.6K71

iOS UITableView左滑操作功能实现(iOS8-11)

2和3,如果是需要适配iOS 11之前版本,以上三个方法都需要实现。...4、上面1.2和1.3实现方法区别 体验上不同就是当左滑只有一个button时,iOS 11可以一直左滑,滑到一定程度时,执行点击按钮操作,iOS 11之前不会。...实现思想是hook系统实现,但鉴于UITableViewview层级结构iOS 11有所改变,所以iOS8-10和iOS11实现有所不同,以下分别给出。...考虑到代码可复用性,自定义左滑操作字体大小和颜色代码不写在viewController,而是写在UITableView和UITableViewCellCategory,对外提供editActionTitleColor...由上图可知,左滑操作按钮是UITableView子view,所以我们可以UITableViewcategoryhook掉layoutSubviews方法,找到UISwipeActionPullView

1.1K81
领券