Swift 如果字符串包含0,则从tableView中删除行
如何检查字符串是否包含某个值,然后相应地删除该行?Swift 如果字符串包含0,则从tableView中删除行,swift,uitableview,Swift,Uitableview,如何检查字符串是否包含某个值,然后相应地删除该行? 例如:我用包含Int值和String值的串联字符串填充tableView。如果字符串为:I have 0 apples,则应删除该行。但是如果它说:我有10个苹果,它应该在tableView中 我在一个视图控制器中串联Int和String值,并将其附加到另一个视图控制器中的数组中 var amount = Int() var text = String() @IBAction func addButton(_ sender:
例如:我用包含
Int
值和String
值的串联字符串填充tableView。如果字符串为:I have 0 apples,则应删除该行。但是如果它说:我有10个苹果,它应该在tableView中
我在一个视图控制器中串联Int
和String
值,并将其附加到另一个视图控制器中的数组中
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时,我想从DeScriptionArray中删除。我尝试了不同版本的.filter{$0!=valueToCheck}
,但无法使其正常工作。尝试此筛选器
let rowsToBeDeleted = arrayOfStrings.filter { currentString in
let splitArray = currentString.components(separatedBy: " ")
for currentElement in splitArray {
if Int(currentElement) == 0 {
return true
}
}
return false
}
我的系统现在有问题,所以无法测试。如果需要任何更改,我将更新答案
编辑-----
我已经测试过了,它似乎按预期工作。希望这能有所帮助。显示您尝试过的代码“包含Int值和String值的连接字符串”您自己连接了吗?如果是这样,为什么不保留整个模型并对其进行过滤,而不是对渲染的模型进行过滤?我自己连接它。如果包含0,则要从中删除的tableView位于另一个视图控制器中。因此,我连接了
Int
和String
值,并将其附加到另一个视图控制器中的数组中。使用代码更新使用结构并分别保留String
和Int
值