У меня очень простое условие isEqualTostring внутри функции нажатия кнопки, использующее имя звука, который воспроизводился в последний раз, и имя звука, который должен воспроизводиться:
if([lastSoundPlayed isEqualToString:soundString])
{
[audioPlayer stop];
}
else
{
//sound player stuff
lastSoundPlayed = soundString;//set lSP to match this sound
}
Переменная lastSoundPlayed изначально имеет значение @ "z4; 3b", нежелательное значение, чтобы быть уверенным, что оно никогда не будет соответствовать ни одному из реальных звуковых имен.
Моя проблема в том, что если я прерву часть [audioPlayer stop] и выведу 2 строки, это покажет, что значения были 'z4; 3b' и 'alarm'. Совершенно разные, и все же для того, чтобы отладчик достиг этой точки останова, они должны быть одинаковыми.
Проблема возникает с первого нажатия кнопки.
Есть идеи, почему было бы показано равенство между двумя строками?
Спасибо
Редактировать: Только что попробовал это:
if([@"goodbye" isEqualToString:@"hello"])
{
//break here
}
а оно все еще достигло точки останова?