Je ne suis pas un expert dans ce domaine, mais je l'ai code écrit de l'échantillon dans le passé qui a fait quelque chose de semblable à cela. L'approche que je pris était la suivante: dans votre classe de cacao où vous souhaitez mettre à jour le code d'insertion de texte similaire à
WebScriptObject *webScriptObject = [_webView windowScriptObject];
id result = [webScriptObject callWebScriptMethod:@"setTableRows" withArguments:[NSArray arrayWithObject:fauxData]];
où fauxData est tout ce que vous voulez passer à JS, et dans la source JS ont quelque chose de similaire à
var mytable = document.getElementById("myTable");
var mytbody = document.getElementById("myTbody");
var docFragment = document.createDocumentFragment();
var myNewtbody = document.createElement("tbody");
myNewtbody.id = "myTbody";
var trElem, tdElem, txtNode;
for(var j = 0; j < row_data.length; ++j) {
trElem = document.createElement("tr");
trElem.className = "tr" + (j%2);
tdElem = document.createElement("td");
tdElem.className = "col0";
txtNode = document.createTextNode(row_data[j].lastName);
tdElem.appendChild(txtNode);
trElem.appendChild(tdElem);
tdElem = document.createElement("td");
tdElem.className = "col4";
txtNode = document.createTextNode(row_data[j].firstName);
tdElem.appendChild(txtNode);
trElem.appendChild(tdElem);
docFragment.appendChild(trElem);
}
myNewtbody.appendChild(docFragment);
mytable.replaceChild(myNewtbody, mytbody);
et bien sûr votre code HTML devrait avoir quelque chose comme
<table id="myTable">
<thead id="myThead">
<tr>
<th>Last</th>
<th>First</th>
</tr>
</thead>
<tbody id="myTbody">
</tbody>
</table>
évidemment, cela remplit les lignes de données dans une table, mais la mise à jour du texte serait b e similaire.