又一次写验证码demo的时候,一下代码carsh了

[self.qBgView.layer.sublayers enumerateObjectsUsingBlock:^(CALayer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {if ([obj isKindOfClass:[CAShapeLayer class]]) {[obj removeFromSuperlayer];}}];

carsh原因: reason: ‘* Collection was mutated while being enumerated.’
翻译下来就是“一边遍历集合,一边又修改集合里面的内容,导致崩溃”,

将以上代码修改成以下的就可以了:

NSMutableArray *layerArr = [self.qBgView.layer.sublayers mutableCopy];
[layerArr enumerateObjectsUsingBlock:^(CALayer * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {if ([obj isKindOfClass:[CAShapeLayer class]]) {[obj removeFromSuperlayer];}}];

was mutated while being enumerated.相关推荐

  1. iPhone开发-- 崩溃之 Collection was mutated while being enumerated.的三种解决办法

    崩溃提示 崩溃提示:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection &l ...

  2. Collection __NSArrayM: 0xxxxxxx was mutated while being enumerated.

    在遍历时,又操作NSArray或者NSMutableArray,会出现这个错误. NSMutableArray * array = xxx;   for (NSDictionary * dic in  ...

  3. was mutated while being enumerated

    在oc中会出现这种情况,当时不知道怎么回事,就一直查代码,因为以前写的就没有问题,为什么这次就出现问题了. - (void)deleteContactsForName:(NSString *)name ...

  4. Objective-C 高性能的循环遍历 forin - NSEnumerator - 枚举 优化

    Cocoa编程的一个通常的任务是要去循环遍历一个对象的集合  (例如,一个 NSArray, NSSet 或者是 NSDictionary). 这个看似简单的问题有广泛数量的解决方案,它们中的许多不乏 ...

  5. ios nstimer实现延时_iOS 中常见 Crash 总结

    作者 | 在路上重名了啊 @(iOS总结)[温故而知新] [TOC] 1.找不到方法的实现unrecognized selector sent to instance 2.KVC造成的crash 3. ...

  6. iOS for 和 forin 的区别 以及注意事项

    一 效率: for VS for(... in ...) for 的应用范围广基本可以NSArray.NSArray以及C语言的数组等,而for(... in ...)仅限于NSArray.NSArr ...

  7. 数组元素在删减的同时进行遍历的操作,程序崩溃问题

    错误:Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSC ...

  8. 整理iOS 错误警告

    1. App installation failed A valid provisioning profile for this executable was not found. 原因是测试手机上没 ...

  9. 【精】iOS知识树,知识点(包括对象、Block、消息转发、GCD、运行时、runloop、动画、Push、KVO、tableview,UIViewController、提交AppStore)

    本文旨在总结iOS知识网络,知识点,该知识网络罗列出常见UIKit.Foundation的对象特点和一些使用经验,可以看成是一本书:文本编辑采用树的形式,对知识点进行罗列,并标注一些使用经验(★)希望 ...

最新文章

  1. 浅析软件研发成本估算过程之估算软件项目工作量
  2. 新疆大学(新大)OJ xju 1010: 四个年级 C++ STL map 将4层循环优化成2层循环可解
  3. 杨森翔的书法:书法 马凯诗
  4. 对VS2008生成智能win32程序简单理解
  5. 假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。(算法导论第十一章11.1-1)
  6. 拖动卡顿_四招教你解决PS软件卡顿问题!
  7. Python排序算法总结
  8. 在应用程序中加一个控制台
  9. java get提交中文乱码_java get方法提交中文乱码问题
  10. Java类变量和类方法详解
  11. (转)Docker - 使用 compose 编排服务
  12. Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)
  13. IDEA系列(六)一This file is indented with tabs instead of 4 space
  14. 点击按钮跳转页面_获取快手主页跳转url scheme 协议的方法(app通用方法)
  15. html5总结2000字,建筑识图实训总结2000字6篇范文
  16. 个人网盘搭建过程--资料来自腾讯云实验室
  17. Spring整合Quartz实现动态定时器
  18. 滴滴-2019+快手2020(A)-校园招聘算法工程师笔试题
  19. Vue学习记录-路由
  20. intellij创建快捷方式到桌面

热门文章

  1. 虚幻4皮肤材质_UE4实时虚拟角色材质篇之Skin Material(一)
  2. 数字化转型顶层设计怎么做?建筑央企数字化转型给出答案
  3. 大学生 从0开始学Spring第2篇:控制反转(IoC)与依赖注入【从0到精通】
  4. 世界坐标系,图像坐标系,车体坐标系,雷达坐标系转换
  5. 【Java之五子棋】——java五子棋游戏
  6. sketchup 图片转模型_Sketchup位图转模型插件安装包及视频教程
  7. C#中定义装箱和拆箱详解
  8. 智能语音:好玩的语音控制是怎么实现的?学习笔记01
  9. 专利之争:诺基亚与苹果互指对方侵权(每日关注2009.12.31)
  10. 防沉迷系统?游戏运营商笑了!