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