我有这段代码:
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。
我缺少什么?
谢谢!
答案 0 :(得分:0)
rangeOfString:如果没有在接收者中找到指定的字符串,则返回{NSNotFound,0} rect。 检查两个对象'首先是value元素HTMLCode和elementText。 请参阅代码的上下文,可以使用两个字符串的任何值。 享受!