我有这个代码:
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];
我在 textRange.length 上得到 0。
我已经在这一行上设置了一个断点,我可以看到在进程运行这一行后长度的值变为 0。
我错过了什么?
谢谢!