To je nesto sto ja imam izvedeno u svome krsh 3d enginu. Ne koristim jsc nego standardni webkit.
Jedina interakcija native koda i webkita je koristenje uiwebview stringByEvaluatingJavaScriptFromString,
s tim da ja onda koristim pulling evenata iz skripte.
1. U skripti definiraj si register callbackova, svaki callback neka ima svoj id, i cuvaj ih u nekom arrayu / dictu.
Mozes si cuvati i parametre funkcije - kao neki array.
2. Moras odluciti kako ces se integrirati sa native kodom, koristenjem jsc a i extendanjem js interfacea, dali koristenjem specijalnog uria i gledanjem shouldLoad... , ili nesto trece (sto sam ja odabrao).
3. kako god da okrenes, u native kodu ces na kraju imati 'setTimeout' funkciju, kojoj ces dati parametare tipa
delay i id funtion callbacka.
4. u native kodu odradi delayed akciju, i nakon toga pozoves skriptu tipa
'onSetTimeoutCb('nekiid'); OnSetTimoutCb je reciomo, js globalna funkcija.
5. u samome JS u potrazi si objekt funkcije, (mozes i parametre spremiti - ljepota dinamickog jezika) i
izvrsi funkciju.
6. obrisi registraciju u js u, da se resourci oslobode.
Ovisno o nacinu intergracije (znam da je to spider monkey mogao, a vjerojatno i JSC moze) ti mozes
pozvati native funkciju i dati joj parametre tipa function pointer. Tada direktno iz samoga native koda mozes
pozvati javascript funkciju koju si dobio kao parametar (vjerujem da tako radi prava implementacija setTimeout a).