Проблема возникает, если я установил для isScanning значение true (это
bool) и запустите метод "analysisDataWithSearchTerm" во второй раз.
Было бы полезно, если бы вы могли подтвердить, что это равно , когда возникает проблема, а не только то, что кажется , когда она возникает. Предполагая, что это так, фрагмент кода, который нам больше всего нужно увидеть, находится внутри:
if (isScanning) {
//do something different
}
Наиболее логичным выводом является то, что что-то в «сделать что-то другое» изменяет условия, которые в противном случае были бы проверены в вашем цикле, например, возможно, удаление объектов из itemIDRows (который я предполагаю, является NSArray или NSMutableArray) или вызывать это NSArray / NSMutableArray объект, который будет выпущен.
Ваше использование != NSNotFound
кажется мне странным испытанием и, вероятно, причиной ваших проблем. Вы могли бы соответствовать этому критерию, если была другая ошибка, отличная от NSNotFound, но, например, могла бы остановиться на [itemIDRows objectAtIndex:i]
. Если вы измените свою логику так, чтобы она соответствовала двум строкам, а не , если она не совпадает с , я подозреваю, что ваша ошибка либо исчезнет, либо возникшая проблема в другом месте более четко выделит проблему.