私はこのコードを持っています:
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 に変化するのがわかります。
私は何が欠けていますか?
ありがとう!