У меня есть этот код:NSRange изменение длины до 0
for (TFHppleElement *element in htmlNodes) {
if (![element.tagName isEqual:@"img"]) {
NSString *elementHtmlCode = htmlCode;
if (element.text != nil) {
NSString *elementText = element.text;
NSRange textRange = [elementHtmlCode rangeOfString:elementText];
elementHtmlCode = [elementHtmlCode stringByReplacingCharactersInRange:textRange withString:word];
[htmlCode setString:elementHtmlCode];
for (TFHppleElement *child in element.children) {
if (child.text != nil) {
NSString *childText = child.text;
NSString *childHtmlCode = htmlCode;
NSRange textRange = [childHtmlCode rangeOfString:childText];
childHtmlCode = [childHtmlCode stringByReplacingCharactersInRange:textRange withString:word];
[htmlCode setString:childHtmlCode];
}
}
}
}
}
Моя проблема была после того, как первая полная петля будет завершена, и когда снова входит в:
NSRange textRange = [elementHtmlCode rangeOfString:elementText];
elementHtmlCode = [elementHtmlCode stringByReplacingCharactersInRange:textRange withString:word];
Я получаю 0 на textRange.length ,
Я установил точку останова на этой строке, и я вижу, что значение длины изменяется на 0 после того, как процесс запустил эту строку.
Что мне не хватает?
Спасибо!