У меня есть задача, в которой мне нужно подсчитать количество ошибок в файле журнала, и я знаю, как это сделать. Теперь я пытаюсь изменить цвет шрифта этих вхождений. У меня это работает, но не меняет все слово на желаемый цвет, а для следующего вхождения этой строки оно сдвигается на 3 символа. См. изображение ниже.
Я искал слово «Проверено», и это дало мне следующие результаты.
Ниже приведен код, который я использую
NSArray * lines = [words componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
wordresult = [lines componentsJoinedByString:@""];
if (occS2 == 1)
{
NSString * box2 = [_occSearchTwoTextBox stringValue];
NSUInteger countFatal = 0, length4 = [wordresult length];
NSRange range4 = NSMakeRange(0, length4);
while(range4.location != NSNotFound)
{
range4 = [wordresult rangeOfString: box2 options:NSCaseInsensitiveSearch range:range4];
[self.stringLogTextView setTextColor:[NSColor redColor] range:range4];
NSLog(@"Occurance Edited");
if(range4.location != NSNotFound)
{
range4 = NSMakeRange(range4.location + range4.length, length4 - (range4.location + range4.length));
countFatal++;
}
}
NSString * FatalCount = [NSString stringWithFormat:@"%lu", (unsigned long)countFatal];
[_customSearchTwoTextBox setStringValue:FatalCount];
}
Может ли кто-нибудь указать мне, где, почему его смещение? Я могу только предположить, что это как-то связано с моим диапазоном, но я не уверен, что делать, чтобы решить.
Спасибо всем за время!