ios - 防止 friend 数组中的重复项

标签 ios objective-c

我在这个项目上工作,我的用户可以互相发送联系信息。我处理的问题是防止我的用户不止一次向那里发送联系信息。要发送联系信息,我使用 UIButton。正在检索联系信息的用户列在 TableView 中,我位于用户详细信息 View 中的按钮。我从 tableView 中获取用户名,从选定的用户中获取用户名并将其带入详细 View 。所以我有用户名。当用户按下我想存储这个名字的按钮时,如果用户再次按下按钮,我想检查这个用户名是否包含在保存的用户名中。如果没有,我想保存新用户,如果它已经保存,我不想发生任何事情。

在 tableView.m 中,prepareForSegue 我得到这样的用户名。

PFObject *object = [self.objects objectAtIndex:indexPath.row];
FindCell *find = [[FindCell alloc] init];
find.userId = [object objectForKey:@"username"];
destViewController.find= find;

用户名是这样存储在我的cell.h中的

@property (nonatomic, strong) NSString *userId; // username

然后我将用户名获取到我的 detailsView.m。

- (IBAction)addCard

- (BOOL)added

从这里开始,我无法正常工作。我不知道如何以有效的方式进行设置。我已经看到丢失了我尝试过的例子,但没有一个按照我需要的方式工作。那些人知道如何做到这一点?

最佳答案

选项 1

您可以使用 NSSet 来获取只有唯一元素的数组

NSSet *uniqueSet = [[NSSet alloc] initWithArray:yourArray];
NSArray *uniqueElementsArray = [uniqueSet allObjects];

选项 2

检查元素是否已经存在于数组中,如果不存在则添加到数组中

   if ([yourArray containsObject:element])
   {
       //Don't add to array
   } 
   else
   {
       //add to array
       [yourArray addObject:element];
   }

关于ios - 防止 friend 数组中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963109/

相关文章:

objective-c - 添加为 UIView 的 subview 后按钮不可单击

ios - PHAsset复制视频补全

ios - 连接到 firebase/firestore 时出错 : Could not reach Cloud Firestore backend

ios - 多个 UIViews,传递方法

ios - 有没有办法使用相同的 cellForRowAtIndexPath 函数填充两个或多个不同的 UITableView?

objective-c - 获取例程中出现死锁

ios - 保留 UIViewControllers 引用,同时在用户关闭 VC 后发出网络请求

iphone - 如何将此类数据显示到 UITableview

iphone - 多计算纬度/经度点之间的经纬度?

iphone - 用于比较 Xcode 项目文件的工具