如何防止将相同的字符串添加到我的存储数组中

时间:2015-12-16 11:50:55

标签: ios arrays swift

我的tableViewCell存储一个字符串数组。每按一次按钮后输入一个新字符串,它就会被添加到该数组中。但是,我不希望将相同的String添加到此数组中两次。如何防止它们被添加?我还希望在发生重复时显示警告消息。

6 个答案:

答案 0 :(得分:1)

最好还是使用NSMutableOrderedSet而不是数组。有序集只能包含给定对象的一个​​条目。如果您尝试两次添加相同的对象,则不会发生任何事情,因此您不需要任何自定义代码。

我不知道Swift是否有一个有序的集合类。我不知道一个,但Cocoa Foundation类完全可以从Swift中使用。

编辑:

快速谷歌搜索显示3rd party Swift ordered set class。我没有使用它,但从描述中听起来很有希望。

答案 1 :(得分:0)

在向array添加任何对象之前,请检查array是否已包含该对象,如下所示

if([yourArray containsObject:@"xyz"]){
     // show alert
}
else{
  [yourArray addObject:@"xyz"];
}

答案 2 :(得分:0)

使用if& else并检查if - 输入的元素是否存在于其中else将该元素输入数组:)

答案 3 :(得分:0)

试试这个,

sBlob

答案 4 :(得分:0)

您只需要检查元素是否存在于数组中

以下是示例。

if (yourArray.contains(aStr!)) { 
   let alert = UIAlertView(title: "Warning", message: "This String is already in your array", delegate: self, cancelButtonTitle: nil, otherButtonTitles: "OK", nil)
   alert.show()
}

希望这会有所帮助。

答案 5 :(得分:0)

如果单词的顺序不相关,则应使用Download

Swift中的Set是一个Set,它不能包含多个具有相同值的实例。

这是一段代码剪切

Struct