如何检查我添加到NSMutableArray
中的userDefaults
的字符串。我试过用:
[arrayOfSavedStrings containsObject:currentString];
但是这会返回错误。
我如何使用谓词或for循环来获取此值?
每次调用checkForSavedString
时,我都会尝试在用户默认值中将值保存到数组中。
- (void)checkForSavedString {
NSString *stringImAdding = self.stringProperty;
NSMutableArray *arrayOfStrings = [NSMutableArray array];
[arrayOfStrings addObject:stringImAdding];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:arrayOfStrings forKey:@"SavedStrings"];
}
我正在尝试检查我在userDefaults
方法中保存到checkForSavedString
的值是否存在于数组中。
self.stringProperty = self.stringFromSomewhereElse;
NSString *currentString = [NSString stringWithFormat:@"%@", self.stringProperty];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSArray *arrayOfSavedStrings = [userDefaults objectForKey:@"SavedStrings"];
if ([arrayOfSavedStrings containsObject:currentString]) {
// my code
}
答案 0 :(得分:1)
我发现解决方案是使用谓词在b=[1 5; 2 6; 3 7; 4 8]
中查找currentString
并过滤该数组以仅包含我要搜索的内容。
arrayOfSavedStrings
然后在- (void)checkForSavedString {
NSString *stringImAdding = self.stringProperty;
NSMutableArray *arrayOfSavedStrings = [[NSMutableArray alloc] initWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"SavedStrings"]];
[arrayOfSavedStrings addObject:stringImAdding];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:arrayOfSavedStrings forKey:@"SavedStrings"];
}
检查已保存的字符串
viewDidLoad