Сравните NSValue со строкой
У меня есть следующий код
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSValue *state = [defaults objectForKey:@"screenstatus"];
Здесь состояние содержит строковое значение для состояния экрана ключа. Мне нужно получить значение состояния экрана и сравнить его со строкой, скажем, строка для сравнения - "abcd"
if (CODE TO COMPARE){
//Has ran before, skip your UIViews or whatever
}
else{
//Has not ran before, do your setup or whatever.
}
Мне не ясно, что мне нужно написать в разделе "Код для сравнения". Не могли бы вы мне помочь.
Спасибо за ваше время.
1 ответ
Предполагая, что вы сохраняете значение NSString - решение заключается в использовании:
if([[[NSUserDefaults standardUserDefaults] objectForKey:@"screenstatus"] isEqualToString:@"YOUR_STRING"])
{
//value is equal
}
Если под этим ключом вы храните другие типы, чем вы можете проверить, если это NSString с помощью
[[[NSUserDefaults standardUserDefaults] objectForKey:@"screenstatus"] isKindOfClass:[NSString class]]