我正在尝试通过可变数组搜索给定的字符串。如果数组中不存在该字符串,我想将其添加到ONCE中。我现在遇到的问题是字符串被添加了很多次。
这是我正在使用的代码
NSMutableArray *array;
array=[self.storedData getNames];
if([array count]!=0){
for (int i=0; i<[array count]; i++) {
MyUser *user=[array objectAtIndex:i];
if(![user.firstName isEqualToString:self.nameField.text]){
[array addObject: object constructor method goes here];
[self.storedData setNames:array];
}
}
}
else{
[array addObject:object constructor method];
[self.storedData setNames:array];
}
非常感谢任何帮助。
答案 0 :(得分:2)
在枚举明显错误的数组时,您将在每个循环迭代中添加新字符串。枚举数组时,只需设置一个标志,指示是否找到字符串,然后在循环之后将字符串添加到数组中,如果不是:
NSMutableArray *array = [self.storedData getNames];
BOOL found = NO;
for (MyUser *user in array){
if(![user.firstName isEqualToString:self.nameField.text]){
found = YES;
break;
}
}
if (!found){
[array addObject: object constructor method goes here];
[self.storedData setNames:array];
}