Swfit4.0 - 数组相关

纯属手打 自己摸索 😆如果有错误 欢迎指出 希望对你们有用

/**************** Mutable Array 这里是NSArray和Array通用的方法 ****************/

在数组的末位增加元素
open func add(_ anObject: Any)

在固定的地方给数组里增加元素
open func insert(_ anObject: Any, at index: Int)

删除数组中最后1个元素
open func removeLastObject()

删除数组中指定的元素
open func removeObject(at index: Int)

更改数组中指定位置元素的值
open func replaceObject(at index: Int, with anObject: Any)

正常初始化
public init()

创建一个预估数组长度的数组初始化
public init(capacity numItems: Int)

初始化 遵循NSCoding协议吧 具体我也没研究出来 因为不常用就占时放弃了 等有空了再说吧
public init?(coder aDecoder: NSCoder)

/** 可变数组专属方法 */

添加多个数组元素
open func addObjects(from otherArray: [Any])

将数组指定位置元素调换位置
open func exchangeObject(at idx1: Int, withObjectAt idx2: Int)

删除所有元素
open func removeAllObjects()

删除指定元素  从第数组的第几位开始 往下寻找几位 如果有就删除 没有就算
open func remove(_ anObject: Any, in range: NSRange)

删除指定元素
open func remove(_ anObject: Any)

这里删除指定元素 且在NSrange规定里查找 这里测试 字符串数组无用,字符串数组只能写为Array[0] 直接删除才可以  而int类型的数组可以 
open func removeObject(identicalTo anObject: Any, in range: NSRange)

直接删除指定元素 字符串数组同上不行  数字数组可以 摸索了半天 估计是个坑
open func removeObject(identicalTo anObject: Any)

删除数组元素
open func removeObjects(in otherArray: [Any])

删除指定位置的元素 具体参考NSRange 或者看我代码
open func removeObjects(in range: NSRange)

/** 以下的方法我也不知道常用不常用 反正我是查了资料暂时没找到准确的也没试出来 等我有空了再补齐吧 😆 */

open func replaceObjects(in range: NSRange, withObjectsFrom otherArray: [Any], range otherRange: NSRange)

open func replaceObjects(in range: NSRange, withObjectsFrom otherArray: [Any])

open func setArray(_ otherArray: [Any])

open func sort(_ compare: @convention(c) (Any, Any, UnsafeMutableRawPointer?) -> Int, context: UnsafeMutableRawPointer?)

open func sort(using comparator: Selector)


open func insert(_ objects: [Any], at indexes: IndexSet)

open func removeObjects(at indexes: IndexSet)

open func replaceObjects(at indexes: IndexSet, with objects: [Any])
话不多说 下面直接上我写的代码 给大家借鉴下😆
    可变数组的初始化
   var cccc = NSMutableArray.init(coder: )
    创建了1个预估有2个元素组成的可变数组
    var ssss = NSMutableArray.init(capacity: 2)
    数组初始化 并且赋值
    var aaaa = NSMutableArray.init(array: ["ssss","aaaa","cccc"])
    可变数组初始化
    var dddd = NSMutableArray.init()



    /** 可变数组  -  不可变数组  --> 通用的方法 */
    var namesArr = NSMutableArray.init()
    namesArr = ["dddd","2222","aaass"]
    //访问第一个元素和最后一个元素
    print("第一个元素:\(String(describing: namesArr.firstObject))")
    print("最后一个元素:\(String(describing: namesArr.lastObject))")
    //这里修改了数组第3位的元素值
    namesArr[2] = "3333"
    //在数组的末尾增加一个元素
    namesArr.add("4444")
    //在第二元素位置上增加1个元素
    namesArr.insert("hahah", at: 1)
    //删除数组中最后1个元素
    namesArr.removeLastObject();
    //删除数组中指定位置的元素
    namesArr.removeObject(at: 1)
    print(namesArr)
    //更改第一位元素的值
    namesArr.replaceObject(at: 0, with: "XXXXX")
    print(namesArr)
    //删除所有的元素
    namesArr.removeAllObjects()
    
    /** 可变数组专属方法 */
    let StudentsArr = NSMutableArray.init(array: ["涛涛","耗子","飞飞","蕾蕾"])
    
    //添加多个数组元素
    StudentsArr.addObjects(from: ["洋洋","超超"])
    print("数组里的属于=\(StudentsArr)")
    for value in StudentsArr {
       print("1\(value)")
    }
    //这里讲第1个位置的元素和第0个位置的元素进行了调换
    StudentsArr.exchangeObject(at: 1, withObjectAt: 0)
    for value in StudentsArr {
        print("2\(value)")
    }
    //删除指定元素  从第数组的第3位开始 往下寻找2位 如果有就删除 没有就算
    StudentsArr.remove("飞飞", in: NSMakeRange(3, 2))
    for value in StudentsArr {
        print("```\(value)")
    }
    
    //删除了111 从第数组的第0位开始 往下寻找2位 如果有就删除 没有就算
    let NumArray = NSMutableArray.init(array: [111,222,333,444,555])
    NumArray.removeObject(identicalTo:111, in: NSMakeRange(0, 1))
    for value in NumArray {
        print("~~\(value)")
    }
    
    //删除指定元素 字符串数组不行
    NumArray.removeObject(identicalTo:222)
    for value in NumArray {
        print("**\(value)")
    }
    //删除数组元素
    StudentsArr.removeObjects(in:["耗子","涛涛"])
    for value in StudentsArr {
        print("~~\(value)")
    }
    
    //这里删除第一个元素开始往下的2个位置的元素
    StudentsArr.removeObjects(in: NSMakeRange(0, 2))
    for value in StudentsArr {
        print("111\(value)")
    }
    
    /** 创建不可变的数组 */
    let vowels  = ["M","I","S","S"]
    print(vowels)
    
}

/** 页面将要显示的时候做的数据处理 */
override func viewWillAppear(_ animated: Bool) {
    //创建一个数组 调用下面的函数 并且打印出数组中的最小的值和最大的值
    let bounds = minMax(array: [8, -6, 2, 109, 3, 71])
    print("min is \(bounds.min) and max is \(bounds.max)")
}
/** 找出最大值和最小值 */
func minMax(array: [Int]) -> (min: Int, max: Int) {
    var currentMin = array[0]
    var currentMax = array[0]
    for value in array[1..<array.count] {
        if value < currentMin {
            currentMin = value
        } else if value > currentMax {
            currentMax = value
        }
    }

    return (currentMin, currentMax)
}
双击666
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270