美文网首页
Swfit4.0 - 数组相关

Swfit4.0 - 数组相关

作者: YaYoYo | 来源:发表于2018-01-18 16:58 被阅读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

相关文章

  • Swfit4.0 - 数组相关

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

  • 数组相关

    1、JS两个数组比较,删除重复值巧妙方法

  • 数组相关

    0101 0102 0103 0104 0105 0201 0202 0203 0204 0205

  • 数组相关

    1、difference,比较两个数组 2、differenceBy,根据数据的属性进行过滤

  • 数组相关

    选定元素slice() slice() 方法可从已有的数组中返回选定的元素,类似于python的切片。语法: ar...

  • 数组相关

    1.二维数组遍历

  • 数组相关

    1.数组去重 利用 es6 的 Set 结构不接受重复值,可以这样写(仅限数字): 同理,去除字符串里的重复字符 ...

  • 数组相关

    两个数组,按照下标相同合并如b =[0=>[3,4],1=>[7,8],2=>[11,12],];合并后array...

  • 数组相关

    1、数组搜索1.1判断数组中是否存在某个值①indexOf ②lastIndexOf ③includes ④fin...

  • PHP数组知识点总结(基本用法+常用函数)

    0.会涉及到的PHP数组相关知识点 带数值下标的数组 关联数组 多维数组 数组相关函数 数组内容的添加,访问,遍历...

网友评论

      本文标题:Swfit4.0 - 数组相关

      本文链接:https://www.haomeiwen.com/subject/yjjuoxtx.html