【问题标题】:How to pass values or data between two function with parameters in swift?如何在两个带参数的函数之间快速传递值或数据?
【发布时间】:2019-12-05 12:43:37
【问题描述】:

我一直在尝试将 lat 和 long 从一个函数传递给另一个函数,但我无法做到这一点...我尝试使用在我的类中声明一个变量来做到这一点,但它在 print 后返回的值是 nil .我使用委托从另一个视图控制器获取纬度和经度

这两个函数属于同一类

我想将它传递到 latt 和 longg 中,以便我可以对其进行解码

@IBAction func locatioButtonTapped(_ sender : Any) {

        self.fetch(latt: //latitude*, longg: //longitude*)

    }

这是从实际源函数获取 lat 和 long 的委托函数

extension MapViewController : LatLongDelegate {
    func latlong(lat: Double, long: Double) {

        let latt = lat
        let long = long

    }

我想从 lat 和 long 获取值到 latitude & longitude..我是 swift 新手..请帮助

【问题讨论】:

标签: ios swift function delegates


【解决方案1】:

其实我没有正确理解你的问题。但据我了解,您可以使用它。

func firstFunc(lat: Double, long: Double) {
   //do something
   secondFunc(lat: lat, long: long)
}

func secondFunc(lat: Double, long: Double) {
   //do something
}

但是如果你想在 secondFunc 处理之后使用值,你可以使用 inout 参数。

func firstFunc(lat: Double, long: Double) {
   //do something
   var newLat = lat
   var newLong = long
   secondFunc(lat: &newLat, long: &newLong)
   //new values for newLat and newLong after secondFunc
}

func secondFunc(lat: inout Double, long: inout Double) {
   //do something
}

【讨论】:

  • 好的...如果我需要使用 firstFunc() 中的 var newlat 和 var newlong 到 ibAction 按钮,以便触发从另一个函数获取数据??
【解决方案2】:

您可以将 lat long 值保存到全局变量并在任何地方访问它。

【讨论】:

  • 是的,哥们,我试过了,但是它返回 nil 值的方式有些...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多