【问题标题】:Pass data from flutter to native IOS将数据从 Flutter 传递到原生 IOS
【发布时间】:2022-01-10 23:16:09
【问题描述】:

如何使用特定于平台的代码将数据从 Flutter 传递到本机 iOS (Swift)。我在互联网上搜索和堆栈溢出,但它只显示了一个原生 Android 的例子。以下是到目前为止我尝试过的代码

飞镖代码

static const methodChannel = MethodChannel('com.ios');
void openPaymentMethod() async {
        String? result = await methodChannel
            .invokeMethod<String>('isSetUpAvailable', {'text': hello});
        if (result != null) {
          print(result);
        }
      }

原生 Swift 代码

  let METHOD_CHANNEL_NAME = "com.ios"
  let controller: FlutterViewController = window?.rootViewController as! FlutterViewController
  let methodChannel = FlutterMethodChannel(name: METHOD_CHANNEL_NAME, binaryMessenger: controller.binaryMessenger)
  methodChannel.setMethodCallHandler({
      (call:FlutterMethodCall,result: @escaping FlutterResult) -> Void in
      switch call.method{
      case "isSetUpAvailable":
          result("Success")
      default:
          result(FlutterMethodNotImplemented)
      }
  })

【问题讨论】:

标签: swift flutter dart appdelegate platform-specific


【解决方案1】:

我用这段代码解决了这个问题

guard let result = call.arguments else {
                  return
              }
              let myresult = result as? [String: Any]
              let data = myresult?["text"] as? String

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 2019-03-16
    相关资源
    最近更新 更多