В операторах if
есть только один знак равенства. Это присваивает строку переменной soapResults
, которая заставляет оператор if вычислять строку (которая всегда будет истинной).
if (@"true")
Вместо этого используйте два знака равенства для сравнения.
if (soapResults == @"true")
Некоторые избегают этой распространенной проблемы, всегда помещая переменную в конец сравнения.
if (@"true" == soapResults)
Таким образом, если вы забудете второй знак равенства, это вызовет ошибку компиляции, которую гораздо легче найти.
Обновление: , как любезно отметили комментаторы, вам не следует сравнивать строки Objective-C с помощью оператора ==. Вместо этого используйте метод isEqualToString
.
if ([soapResults isEqualToString:@"true"])