检查2个数组是否有匹配的字符串

时间:2016-02-09 17:40:23

标签: ios objective-c

我有2个阵列:

listOfPhotos

联系在一起
@interface CactusQueuePhotos : NSObject
 @property(strong, nonatomic) NSString *ID, *QUEUEID, *IMAGEURL;
-(void)updateEntry;
-(void)createEntry;
@end

绑定的

listOfTasks

@interface CactusQueue : NSObject
@property(strong, nonatomic) NSString *QDESCRIPTION, *LONGDESCRIPTION, *PRIORITY, *TAGS, *STATUS, *CATEGORY, *PRIMARYASSIGN, *LUPDATEREASON;
@property(strong, nonatomic) NSString *ID, *ESTIMATEDHOURS1, *ESTIMATEDHOURS2, *PREREQUISITE, *ACTHOURS;
@property(strong, nonatomic) NSString *CREATEDATE, *ASSIGNDATE, *DUEDATE, *STARTDATE, *COMPDATE, *LASTUPDATE;
@end

所以listOfTasks是一个任务列表。和listOfPhotos是与所述任务相关的可选照片(基于ID)。

在我的tableView上,我想根据listOfPhotos QUEUEID是否与listOfTasks

中的任何ID匹配来显示/隐藏和图像

我试过

if ([[listOfPhotos valueForKey:@"QUEUEID"] containsString:que.ID])

导致崩溃

  

2016-02-09 12:37:34.828 CactusQueue [2114:160258] ***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [__ NSArray0 containsString:]:无法识别的选择器发送到实例0x135e000a0'< / p>

我无法使用containsObjects个对象,因为CactusQueueCactusQueuePhotos不是同一个对象

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

抛出该异常是因为NSArray类没有containsString选择器。相反,你需要使用&#34; containsObject&#34;选择。 这是一个例子:

NSMutableArray *mutableStringArray = [NSMutableArray array];
[mutableStringArray addObject:@"Apple"];
[mutableStringArray addObject:@"Bacon"];
[mutableStringArray addObject:@"Cone"];

NSArray *stringArray = [NSArray arrayWithArray:mutableStringArray];

if ([stringArray containsObject:@"Apple"])
{
    NSLog(@"Apple was found!");
}