我不知道该怎么办.我有一个NSMutableArray(addList),其中包含要添加到数据源NSMutableArray的所有项.

现在我想判断数据源数组中是否已经存在要从addList数组添加的对象.如果不存在,则添加该项;如果存在,则忽略该项.

这两个对象都有一个名为iName的字符串变量,我想对其进行比较.

这是我的代码片段

-(void)doneClicked{
    for (Item *item in addList){
        /*
        Here i want to loop through the datasource array 
        */
        for(Item *existingItem in appDelegate.list){
            if([existingItem.iName isEqualToString:item.iName]){
                // Do not add
            }
            else{
                [appDelegate insertItem:item];
            } 
        }
}

但我发现即使它存在也要添加.

我做错了什么?

推荐答案

我找到了一个解决方案,可能不是最有效的,但至少有效

NSMutableArray *add=[[NSMutableArray alloc]init];

for (Item *item in addList){
        if ([appDelegate.list containsObject:item])
            {}
        else
            [add addObject:item];
}

然后我迭代add数组并插入项.

Objective-c相关问答推荐

Xcode 的任何 ReSharper 类似功能?

iPhone:推送通知后如何删除徽章?

只有 ONE VIEW 横向模式

如何判断 Cocoa 和 Objective-C 中是否存在文件夹?

MKMapView MKPointAnnotation 点击​​事件

将 NSArray 转换为 NSDictionary

如何从 AVPlayer(不是 AVAudioPlayer)获取持续时间?

委托如何在 Objective-C 中工作?

显示启动画面的时间超过默认秒数

Core Data使用原始数据类型的标量属性复选框

AVAssetImageGenerator 提供旋转的图像

NS_ASSUME_NONNULL_BEGIN 宏

单例释放方法产生警告?

ARC时代的财产与ivar

Objective-c 中 SEL 类型的属性

为整个 iPhone / iPad 应用程序设置背景图像

UIImage上的圆角

将数据传回前一个视图控制器

如何在 iOS 中创建自定义 UIActivity?

iOS 上的电话号码格式