Сравнение строки из Интернета - PullRequest
2 голосов
/ 05 марта 2011

Привет всем, я пытаюсь прочитать файл в Интернете, который говорит, что «это тест», и я хочу сравнить его ... так вот что я получил:

NSError *error;
NSURL *theURL = [NSURL URLWithString:@"http://mysite.com/test.asp"];
NSString *test = [NSString stringWithContentsOfURL:theURL encoding:NSASCIIStringEncoding error:&error];

NSLog(@"%@",test); //prints the results.. .does work


if(test == "this is a test"){
    NSLog(@"File read");
} else {
    NSLog(@"Bad file");
}

Что я здесь не так делаю? Я всегда получаю "Плохой файл", но я знаю, что это тянет в тексте. Спасибо всем

Дэмиен

Ответы [ 3 ]

4 голосов
/ 05 марта 2011

Вам также необходимо проверить nil и использовать для сравнения функцию isEqualToString.

if(test != nil){

    if([test isEqualToString:@"this is a test"]) {
       // equal
    }
    else{
      // not equal
    }
}

else{

   NSLog(@"Bad file");

}
0 голосов
/ 05 марта 2011

Кроме ответа 2 вы также можете использовать.

– caseInsensitiveCompare:
– localizedCaseInsensitiveCompare:
– compare:
– localizedCompare:
– compare:options:
– compare:options:range:
– compare:options:range:locale:
– localizedStandardCompare:
0 голосов
/ 05 марта 2011

Если вы используете ==, вы будете сравнивать два указателя. Используйте isEqual: вот так:

if([test isEqual: @"this is a test"]) {
    // equal
}else{
    // not equal
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...