JavascriptCore: passa a função javascript como parâmetro no JSExport
JavascriptCore é uma nova estrutura suportada no iOS7. Podemos usar o protocolo JSExport para expor partes da classe objc ao JavaScript.
Em javascript, tentei passar a função como parâmetro. Bem assim:
function getJsonCallback(json) {
movie = JSON.parse(json)
renderTemplate()
}
viewController.getJsonWithURLCallback("", getJsonCallback)
No meu objc viewController, defini meu protocolo:
@protocol FetchJsonForJS <JSExport>
- (void)getJsonWithURL:(NSString *)URL
callback:(void (^)(NSString *json))callback;
- (void)getJsonWithURL:(NSString *)URL
callbackScript:(NSString *)script;
@end
Em javascript, viewController.getJsonWithURLCallbackScript funciona, no entanto, viewController.getJsonWithURLCallback não funciona.
Existe algum erro que eu usei bloco no JSExport? Valeu.