Сравнение строк в Objective C

Я в настоящее время настраивал веб-сервер, который я передаю по SOAP со своим приложением для iPhone. Я возвращаю строку, содержащую GUID и когда я пытаюсь сравнить это с другой строкой, я получаю некоторые странные результаты.

Почему это не стреляло бы? Конечно, две строки являются соответствием?

NSString *myString = @"hello world";

if(myString == @"hello world")
    return;
86
задан PLG 23 November 2017 в 11:04
поделиться

2 ответа

Используйте метод -isEqualToString: для сравнения значений двух строк. Использование оператора C == просто сравнивает адреса объектов.

if ([category isEqualToString:@"Some String"])
{
    // Do stuff...
}
200
ответ дан 24 November 2019 в 07:57
поделиться

Вы можете использовать сравнение с учетом регистра или без учета регистра, в зависимости от того, что вам нужно. С учетом регистра:

if ([category isEqualToString:@"Some String"])
{
   // Both strings are equal without respect to their case.
}

Без учета регистра:

if ([category compare:@"Some String" options:NSCaseInsensitiveSearch] == NSOrderedSame)
{
   // Both strings are equal with respect to their case.
}
46
ответ дан 24 November 2019 в 07:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: