Removing object from array in Swift 3

前端 未结 13 2084
余生分开走
余生分开走 2020-12-08 12:49

In my application I added one object in array when select cell and unselect and remove object when re-select cell. I used that code but give me error.

extens         


        
13条回答
  •  一向
    一向 (楼主)
    2020-12-08 13:07

    This is what I've used (Swift 5)...

        extension Array where Element:Equatable
        {
            @discardableResult
            mutating func removeFirst(_ item:Any ) -> Any? {
                for index in 0.. Any? {
                var index = self.count-1
                while index >= 0 {
                    if(item as? Element == self[index]) {
                        return self.remove(at: index)
                    }
                    index -= 1
                }
                return nil
            }
        }
    
        var arrContacts:[String] = ["A","B","D","C","B","D"]
        var contacts: [Any] = ["B","D"]
        print(arrContacts)
        var index = 1
        arrContacts.removeFirst(contacts[index])
        print(arrContacts)
        index = 0
        arrContacts.removeLast(contacts[index])
        print(arrContacts)
    

    Results:

       ["A", "B", "D", "C", "B", "D"]
       ["A", "B", "C", "B", "D"]
       ["A", "B", "C", "D"]
    

    Important: The array from which you remove items must contain Equatable elements (such as objects, strings, number, etc.)

提交回复
热议问题