如果检测到特定的字符串,如何删除多个数组中的索引

时间:2017-06-26 18:39:23

标签: arrays swift

我一直在寻找至少一个小时而没有运气。有很多问题与此类似,但没有给出正确的答案。

我想要做的只是我有一个通知表数组:

代码:

var notificationList = [(Type: "Work", Date: "7/7/7", Seen: false), (Type: "Home", Date: "8/8/8", Seen: false),(Type: "Fun", Date: "9/9/9", Seen: false)]

它的值指定了通知的类型,创建的日期以及是否已被查看。

我可以使用此功能将新通知附加到列表中。

代码:

 notificationList.append((Type: "Work", Date: "8/8/8", Seen: false))

我试图找出如何解决的问题是。如果我可以搜索名为 Date 的插槽,然后说删除日期插槽中包含字符串8/8/8的所有索引。

看起来很简单哈哈。

到目前为止,我可以这样做但是这段代码会让我匹配数组中的每个插槽,以便它能够正常工作。

代码:

notificationList = notificationList.filter(){$0 != (Type: "Work", Date: "8/8/8", Seen: false)}

1 个答案:

答案 0 :(得分:1)

过滤所有Date不是"8/8/8"

的通知
notificationList = notificationList.filter{ $0.Date != "8/8/8" }

强烈建议使用

  • 结构而不是元组
  • Date以来的小写参数标签/变量可能与Swift 3中的结构Date混淆