Iphone 检查NSSERDEFAULT中是否已存在NSString/NSMUTABLEARRY?

Iphone 检查NSSERDEFAULT中是否已存在NSString/NSMUTABLEARRY?,iphone,ios,uitableview,nsmutablearray,nsuserdefaults,Iphone,Ios,Uitableview,Nsmutablearray,Nsuserdefaults,我正在用tableview之类的东西制作这个应用程序。我想做一个“收藏夹”选项卡,在细节视图中我想做一个星形按钮。我已经完成了“添加到收藏夹”的工作,希望能够将字符串多次添加到我的favoriteViewController 基本上,我想检查NSUserDefaults的NSMutableArray中是否包含与表视图中的indexPath.row匹配的特定字符串。真的很难解释 下面是代码的一个片段。在再次添加之前,我想检查favoriteKey中是否已经存在“indexPathRowString

我正在用tableview之类的东西制作这个应用程序。我想做一个“收藏夹”选项卡,在细节视图中我想做一个星形按钮。我已经完成了“添加到收藏夹”的工作,希望能够将字符串多次添加到我的favoriteViewController

基本上,我想检查NSUserDefaults的NSMutableArray中是否包含与表视图中的indexPath.row匹配的特定字符串。真的很难解释

下面是代码的一个片段。在再次添加之前,我想检查favoriteKey中是否已经存在“indexPathRowString”

-(IBAction)addToFavorite:(id)sender {
    NSMutableArray* alreadyFavourites = [[[NSUserDefaults standardUserDefaults] objectForKey:@"favoriteKey"] mutableCopy];
    [favoritedAlready addObject:indexPathRowString];
    [[NSUserDefaults standardUserDefaults] setObject:alreadyFavourites forKey:@"favoriteKey"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
我非常感谢您的回答,我真的需要解决这个问题!:)

您想要
包含对象:

因为NSString实现了协议方法
isEqual:
来为相同内容的两个字符串返回
YES
,所以此方法将对具有相同值的两个不同字符串对象正常工作。

您想要
containsObject:

因为NSString实现了协议方法
isEqual:
来为相同内容的两个字符串返回
YES
,所以此方法对于具有相同值的两个不同字符串对象将正常工作。

您可以使用

if (![favoritedAlready containsObject:indexPathRowString])
{
    [favoritedAlready addObject:indexPathRowString];
}
您可以使用

if (![favoritedAlready containsObject:indexPathRowString])
{
    [favoritedAlready addObject:indexPathRowString];
}
你是说喜欢;如果([alreadyFavourites containsObject:indexPathRowString]==NO){//add to array}?那么您的意思是喜欢;如果([alreadyFavourites containsObject:indexPathRowString]==NO){//添加到数组}?