在objective-c中如何用invokeMethod发送flutter中的数据

z3yyvxxp  于 2023-03-04  发布在  Flutter
关注(0)|答案(1)|浏览(193)

我正在用flutter和native(java,objc)开发一个应用程序。
在Android中(使用java),我们使用channel.invokeMethod()将数据传递给flutter。

static MethodChannel channel;

public static void GetTransData(int nTrans1, int nTrans2, int nTrans3){
        Map<String, Integer> data = new HashMap<String, Integer>();
        data.put("Trans1", nTrans1);
        data.put("Trans2", nTrans2);
        data.put("Trans3", nTrans3);

        channel.invokeMethod("GetTransData", data);
    }

但是当我尝试在ios上使用invokeMethod()(使用objective-c)时,我收到一个错误消息,说“在类型为”FlutterMethodChannel *“的对象上找不到属性”invokeMethod“。

NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"value2", nil];
[data setValue:[NSNumber numberWithInt:101] forKey:@"value1"];
[data setValue:[NSNumber numberWithInt:202] forKey:@"value2"];

          
CHANNEL.invokeMethod(@"iosMethodCallTest", data); //Property 'invokeMethod' not found on object of type 'FlutterMethodChannel *'

有没有办法从objective-c通过invokeMehtod()发送数据到flutter???使用这种方法的原因是objc的逻辑需要在中间传递数据,谢谢

ctehm74n

ctehm74n1#

    • 已解决**

您可以通过使用FlutterMethodChannelinvokeMethod:arguments来完成此操作。

[CHANNEL invokeMethod:@"iosMethodCallTest" arguments:data];

相关问题