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