Сравните 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]]
Другие вопросы по тегам