Во-первых, вот небольшой пример равенства / неравенства в C / Objective-C:
Допустим, у вас есть значение BOOL
(то есть значение, которое может быть либо ДА, либо НЕТ, «Вкл.» Или «Выкл.», «Истина» или «Ложь»), называемое isEnabled
. Теперь, если бы я присвоил этому BOOL
значению (иногда называемому 'флагом') значение 'YES', я мог бы условно проверить его значение следующим образом:
BOOL isEnabled = YES;
if (isEnabled)
{
// value set to yes
}
В дополнение к вышесказанному я могу использовать оператор отрицания (восклицательный знак - также известный как оператор NOT), чтобы перевернуть значение isEnabled
и проверить его противоположное значение:
BOOL isEnabled = YES;
// the following reads as "if is *not* enabled"
if (!isEnabled)
{
// value set to no
}
теперь, конечно, в приведенном выше примере isEnabled
установлено на YES
, поэтому условие не будет выполнено. Но, если мы рассмотрим следующий пример, свойство if
, при котором, если else if
'встречается' (т. Е. Истинно) в любом месте из серии if
и else if
, оно выполнится весь код внутри него, а затем игнорируйте все остальное:
BOOL isEnabled = NO;
if (isEnabled)
{
// any code here will not run, as the above if condition will be false
}
else if (!isEnabled)
{
// this code will run, since the above condition (!isEnabled) will evaluate to true
}
else if (isEnabled)
{
// this code could never run, since the previous condition was true and all following else if's are ignored
}
else if (!isEnabled)
{
// this code could never run, since the previous condition was true and all following else if's are ignored
}
, хотя у приведенного выше есть два избыточных else if
в конце, это хороший способ продемонстрировать, как работает условный код.
Таким образом, в вашем методе webViewDidFinishLoad:
вместо пробела для оценки условия if / else вы можете заменить его более простым условием:
-(void) webViewDidFinishLoad:(UIWebView *)webView
{
[UIApplication sharedApplication].networkActivityIndicatorVisible=NO;
// or, (self.spinner1 != nil)
if (!self.spinner1)
{
[self.spinner1 stopAnimating];
}
}
Когда вы внесете вышеуказанные изменения во все свои if и else if, опубликуйте трассировку стека, и я посмотрю, что еще это может быть.