当前位置: 首页 > news >正文

Collection NSArrayM was mutated while being enumerated

   NSMutableArray* arrMutable = [NSMutableArray array];
    //不能在枚举可变数组的同时增删其项目,下面的写法会报错。
    for(AClass* item in arrMutable){
        BOOL needRemove = YES;
        if(needRemove){
            [arrMutable removeObject:item];
        }
    }


正确作法:
   NSMutableArray* arrMutable = [NSMutableArray array];
    //不能对mutable arr在枚举的同时增删项目,下面的作法会报错。
    for(AClass* item in [arrMutable copy]){
        BOOL needRemove = YES;
        if(needRemove){
            [arrMutable removeObject:item];
        }

    }


  注意,如果是自定义类,如果在数组中比较是否相等,需要重写自定义类的isEqual和hash这两个方法:

#pragma mark - override NSObject 数组中比较时需要 -


- (BOOL)isEqual:(id)other

{

   if ([otherisKindOfClass: [AClassclass]]

        && [((AClass*)other).name isEqualToString:self.name]){

       returnYES;

    }else{

       returnNO;

    }

}


- (NSUInteger)hash

{

   return [_name hash];

}



相关文章:

  • 数学之美 系列八-- 贾里尼克的故事和现代语言处理
  • 数学之美 系列十七(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型...
  • 两个iCarousel联动
  • 数学之美 系列一 -- 统计语言模型
  • 和java的DES/ECB/PKCS5Padding相同的objc实现方式
  • 数学之美 系列二 -- 谈谈中文分词
  • DZNEmptyDataSet实现的分析
  • 数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用
  • 设置status bar字体颜色的优化方案
  • 使UILabel垂直考上对齐
  • 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
  • 为什么layer的mask属性和photoshop的mask不一样
  • 数学之美系列 4 -- 怎样度量信息?
  • 无符号整数和有符号整数比较的注意点
  • 数学之美 系列七 -- 信息论在信息处理中的应用
  • bootstrap创建登录注册页面
  • Fundebug计费标准解释:事件数是如何定义的?
  • happypack两次报错的问题
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java 网络编程(2):UDP 的使用
  • Less 日常用法
  • pdf文件如何在线转换为jpg图片
  • VUE es6技巧写法(持续更新中~~~)
  • Vue2.x学习三:事件处理生命周期钩子
  • 对超线程几个不同角度的解释
  • 机器学习中为什么要做归一化normalization
  • 如何在GitHub上创建个人博客
  • 赢得Docker挑战最佳实践
  • 优秀架构师必须掌握的架构思维
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 通过调用文摘列表API获取文摘
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)球球大作战
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (区间dp) (经典例题) 石子合并
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (转)Oracle存储过程编写经验和优化措施
  • (转)Sublime Text3配置Lua运行环境
  • (转)winform之ListView
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .Net6使用WebSocket与前端进行通信
  • .net快速开发框架源码分享
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .Net转前端开发-启航篇,如何定制博客园主题
  • :O)修改linux硬件时间
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka