我有一个存储正在购买的项目字符串的数组。他们可能会买两个相同的东西。当我使用下面的 if 语句时,它会删除该字符串的所有实例,而我只需要删除一个。请帮忙。
Singleton *shared = [Singleton sharedManager];
if ([shared.array2 containsObject:string2]) {
[shared.array2 removeObject:string2];
}
NSUInteger index = [shared.array2 indexOfObject:string2];
if (index != NSNotFound) {
[shared.array2 removeObjectAtIndex: index];
}
NSArray 有一个调用方法,该方法indexOfObject
将返回对应数组值等于 anObject 的最低索引,或者NSNotFound
如果没有找到这样的对象。只需获取索引并调用removeObjectAtIndex
它将删除第一个找到的匹配对象。
将NSArray转换为NSSet很简单。NSSet不允许存储重复的对象。
它会自动删除重复的对象。下面的代码我们将使用修复这个问题。
NSSet * set = [NSSet setWithArray:NSArray(instance here)];