如果string包含0,则从tableView中删除行

时间:2018-06-14 07:36:49

标签: swift uitableview

如何检查字符串是否包含某个值,然后相应地删除该行?
例如:我使用包含Int值和String值的连接字符串填充tableView。如果字符串读取:我有0个苹果,应该删除该行。但如果它说:我有10个苹果,它应该在tableView中。

我在一个View Controller中连接IntString值并将其附加到另一个View Controller中的数组

 var amount = Int()
 var text = String()      

 @IBAction func addButton(_ sender: UIButton)
    {
        amount += 1
        amountLabel.text = String (amount)

        if let tbc = self.tabBarController as? CustomTabBarController
        {
           tbc.descriptionArray.append("\(counter) \(text))")

        }
     }    



@IBAction func subtractButton(_ sender: UIButton)
    {
        if amount != 0
        {
            amount -= 1
        }

        amountLabel.text = String (amount)
        }
    }    

我希望在金额为0时从desriptionArray中删除。我尝试过不同版本的.filter { $0 != valueToCheck },但无法使其正常工作。

1 个答案:

答案 0 :(得分:1)

试试这个过滤器......

let rowsToBeDeleted = arrayOfStrings.filter { currentString in
    let splitArray = currentString.components(separatedBy: " ")
    for currentElement in splitArray {
        if Int(currentElement) == 0 {
            return true
        }
    }
    return false
}

我现在遇到系统问题,所以我无法测试。如果需要进行任何更改,我会更新答案。

EDIT -----

我已经对此进行了测试,它似乎按预期工作。希望这会有所帮助。