Swift 数组方法

2017-12-29  本文已影响8人  Yuency

关于 OC 里面这个函数的使用方法 [array removeObject:"小明"] 在 Swift 里面数组里找不到, 在 Swift 数组我也想这么用.
去 stackoverflow 上看了一下 https://stackoverflow.com/questions/24938948/array-extension-to-remove-object-by-value

需要区分对象是引用还是拷贝, 把对象 A 拷贝一份生成副本B1, A 和 B1是两个对象, 就算他们拥有的东西一模一样, 或者创建一个新对象 B2,程序猿自己把 B2的所有东西做的和 A 一模一样, 那就更简单了, 当然是两个对象, 因为 B2是你自己弄出来的, 就算B2和 A 一模一样.

在ViewController里面做这样的实验

通用.png 特殊.png

删除数组里面第一个和指定元素相同的方法

    extension Array where Element: Equatable {
        // Remove first collection element that is equal to the given `object`:
        mutating func remove(object: Element) {
            if let index = index(of: object) {
                remove(at: index)
            }
        }
    }

删除数组里面相同的所有元素

extension Array where Element: Equatable {
    // Remove all collection element that is equal to the given `object`:
    mutating func removeAllSame(object: Element) {
        for _ in 0..<self.count {
            if let index = index(of: object) {
                remove(at: index)
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读