如何将swift对象传递给javascript(UIWebView/objective-C)

How do I pass a swift object to javascript (UIWebView / objective-C)

本文关键字:javascript UIWebView objective-C swift 对象      更新时间:2023-09-26

我正在UIWebView 中将数据从OBJECTIVE-C传递到javascript

我有一个自定义的Class作为Item,我需要将Item的对象发送到服务器端的javascript。

用于传递我使用过的变量:

NSString *runScript=[NSString stringWithFormat:@"javascript:setData(%ld,%@)",(long)self.subItemId,self.itemId];

提前感谢

我使用myVar作为全局变量,但我认为在大多数情况下不需要这样做。

+ (BNRContact *)editContact:(BNRContact *)aContact{
    //create script
    NSString *jsFunctionText =
    @"myVar=new Object();"
    "var contactObject = function(obj){"
    "myVar = {obj}";
    "myVar.name = 'April';"
    "return myVar;"
    "}";
    //set up script context
    JSContext *context = [JSContext new];
    context[ @"myVar" ] = aContact;
    [context evaluateScript:jsFunctionText];
    // calling a JavaScript function
    JSValue *jsFunction = context[@"contactObject"];
    JSValue *value = [jsFunction callWithArguments:@[ aContact ]];
    aContact = [value toObject];
    return aContact;
}