文档章节

一次性删除数组中数组多个元素

宁音雨雾
 宁音雨雾
发布于 2016/05/13 14:39
字数 316
阅读 92
收藏 0

 


更新:2016/5/14

解决可能会发生的崩溃

崩溃提示:mutating method sent to immutable object'

具体请看此处

    // MARK: 删除数组中 数组个数个元素
    
    /// 删除数组中 数组个数个元素
    class func arrayRemoveObjectAtIndexArray(inout arrayM: NSMutableArray,indexArray: [Int]) {
        
        // 修复报错   
        // "mutating method sent to immutable object"
        
        arrayM =  NSMutableArray(array: arrayM);
        
        var indexA = indexArray;
        
        // 把数组里面的 元素 从小到大排序 并 递归 --> 减
        for  i in 0..<indexA.count {
 
            for j in 0..<indexA.count - i - 1 {
                
                if indexA[j] > indexA[j + 1] {
                    
                    let temp = indexA[j + 1];
                    
                    indexA[j + 1] = indexA[j];
                    
                    indexA[j] = temp;
                }
            }
        }

        // 每次删一个 数组长度减一 so
        for i in 0..<indexA.count {
            
            indexA[i] = indexA[i] - i;

            // 删除 对应 下标元素
            arrayM.removeObjectAtIndex(indexA[i]);

        }

    }

已过期

    // MARK: 删除数组中 数组个数个元素
    
    /// 删除数组中 数组个数个元素
    class func arrayRemoveObjectAtIndexArray(inout sender: NSMutableArray,indexArray: [Int])  {
        
        var indexA = indexArray;
        
        // 把数组里面的 元素 从小到大排序
        for  i in 0..<indexA.count {
 
            for j in 0..<indexA.count - i - 1 {
                
                if indexA[j] > indexA[j + 1] {
                    
                    let temp = indexA[j + 1];
                    
                    indexA[j + 1] = indexA[j];
                    
                    indexA[j] = temp;
                }
            }
        }
        
        // 每次删一个 数组长度减一 so
        for i in 0..<indexA.count {
            
            indexA[i] = indexA[i] - i;
            
            // 删除 对应 下标元素
            sender.removeObjectAtIndex(indexA[i]);
        }
    }

Swift演示点此下载(Demo未更新,请替换更新后的函数)

 

© 著作权归作者所有

宁音雨雾
粉丝 55
博文 314
码字总数 49810
作品 0
东城
程序员
私信 提问
刘祥超/Array.js

Array.js Array.js帮助开发人员更优雅地操作Javascript数组。 使用 直接引入 Array.js 或 Array.min.js: 然后在Javascript中使用: var arr = [ 1, 2, 3, 4];arr.$each(funct...

刘祥超
2017/01/14
0
0
Math&数组&Date

Math任务 1.写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2.写一个函数,返回从min都max之间的 随机整数,包括min包括max 3.写一个函数,生成一个长度为 n 的随机字符串,字...

熊蛋子17
2017/12/13
0
0
shell脚本基础--数组

q1.数组 我们知道,变量就是内存里的存储空间,每个变量只可以存储一个数据,进行一次性的赋值操作,那么遇到一些需要连续存储并读取的任务时,如果还是依靠变量进行多次存储,既不会保证内存...

whj3656
2017/05/05
0
0
Codeigniter 笔记(1)

CI控制器: 1.方法名字前加_ 方法变为私有的。无法通过url访问到。 2。要使用构造函数,必须在构造函数里面加入parent::construct(); 几种可用的资源 辅助函数: helper 一旦载入 全局可用 ...

陆意
2013/03/28
258
0
bash基本知识

bash的颜色显示规则: ascii编码对于颜色进行设置; 033:Ctrl键 [:控制字符和颜色代码之间的间隔字符 0m:关闭颜色属性命令; 1m:加粗显示文本字符; 4m:为文本字符加下划线标识; 5m:使...

运维小弟qaq
2017/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

c++运算符重载

这个运算符重载觉得有点像java的装箱 #ifndef INTERGER_H #define INTERGER_H //学习下运算符的重载 class Interger { public: Interger(); Interger(int value):m_value(value){}......

南桥北木
24分钟前
4
0
微信公众号如何推送文章

公众号推送消息格式,可以推送文本、图文消息、小程序、优惠券、会员卡、图片、视频、语音,不仅仅只能推送文章即图文消息,支持素材永久链接,表情符号等。 通过公众号接口可以开发各种各样...

保持美好
24分钟前
4
0
云桌面经常被吐槽,为什么还有很多人在用

说起云桌面我们会发现一个很奇怪的现象,那就是我们在网上经常能看到有人在吐槽云桌面的,说云桌面的性能差、价格贵和各种的不好用。虽然说网上有很多人都在吐槽云桌面,但是我们会发现使用它...

GZASD
31分钟前
5
0
支付宝20积分兑换15天会员

支付宝20积分兑换30天会员 活动地址:https://openact.ximalaya.com/alipay-vip/#/(或支付宝扫码打开)

xiaogg
35分钟前
5
0
DDoS攻击是怎么打垮游戏企业的?

1.占用服务器的有限资源。比如TCP连接数资源(服务器的连接数是有限制的),有的TCP连接会断开,有的会保持通信;比如一家餐馆,攻击者打比方是地痞流氓总是去排队,但是并不去消费,那么此时正...

云漫网络Ruan
36分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部