Como passar um objeto rápido para javascript (WKWebView / swift)
Estou trabalhando na passagem de dados de swift para javascript dentro de um WKWebView
Eu tenho uma classe personalizada:
class AllInfo: AnyObject {
var title = "Special Title"
var description = "Special Description"
}
e inicialize-o com
var info = AllInfo()
Em seguida, tenho um WKWebView com o qual passo um WKUserScript com o qual tenho uma propriedade de origem:
source: "changeDisplay('\(info)')"
Meu problema é como faço para acessar esse objeto no javascript. Eu tentei acessá-lo como um objeto javascript, bem como matriz associativa sem sorte. Aqui está o js funciton:
function changeDisplay(passedInfo) {
document.querySelector('h1').innerHTML = passedInfo.title
document.querySelector('h2').innerHTML = passedInfo.description
}
setTimeout(function () {changeDisplay();}, 5000);
Edição: Quando eu tento acessar o objeto como este, fico indefinido.
Então, minhas perguntas são:
Posso passar um AnyObject para JavaScript e acessá-lo? Caso contrário, que tipo devo fazer na classe swift para que eu possa passar com facilidade.
Fico tentado a criar um objeto javascript rapidamente como uma string e passar isso, mas sinto que há uma maneira melhor.
obrigado
Edição: Eu respondi como eu era capaz de passar dados como JSON abaixo.