JavascriptCore: JavaScript-Funktion als Parameter in JSExport übergeben
JavascriptCore ist ein neues Framework, das von iOS7 unterstützt wird. Wir können das JSExport-Protokoll verwenden, um Teile der objc-Klasse für JavaScript verfügbar zu machen.
In Javascript habe ich versucht, die Funktion als Parameter zu übergeben. Genau wie dieser:
function getJsonCallback(json) {
movie = JSON.parse(json)
renderTemplate()
}
viewController.getJsonWithURLCallback("", getJsonCallback)
In meinem objc viewController habe ich mein Protokoll definiert:
@protocol FetchJsonForJS <JSExport>
- (void)getJsonWithURL:(NSString *)URL
callback:(void (^)(NSString *json))callback;
- (void)getJsonWithURL:(NSString *)URL
callbackScript:(NSString *)script;
@end
In Javascript funktioniert viewController.getJsonWithURLCallbackScript, viewController.getJsonWithURLCallback jedoch nicht.
Gibt es einen Fehler, den ich Block in JSExport verwendet habe? Vielen Dank.