我正在用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
的逻辑需要在中间传递数据,谢谢
1条答案
按热度按时间ctehm74n1#
您可以通过使用
FlutterMethodChannel
的invokeMethod:arguments
来完成此操作。