如何在Swift中将带有数据的字符串从函数传递到viewDidLoad?

时间:2019-01-04 21:24:11

标签: swift func

我正在尝试将一个函数的字符串值传递给viewDidLoad并将其分配给另一个字符串。我有一个从另一个视图控制器获取数据值的函数。我试图将值发送到viewDidLoad并使用它。 我的功能是:

func inputData(name: String) {
    let myCity = String()
    myCity = name
    print(myCity) // prints the city I want which is passed from the other View Controller
}

myCity获取我需要的值(它是一个字符串)。效果很好。如何获取myCity值并将其分配给viewDidLoad中的另一个String?我需要这样的东西...

override func viewDidLoad() {
    super.viewDidLoad()

    var myNewCity = String()
    myNewCity = inputData(name: myCity)
    print(myNewCity) // should be the same name as from the function
}

我也尝试了一个带有返回值的函数:

func inputData(name: String) -> String {
    let myCity = String()
    myCity = name
    print(myCity)

    return myCity
}

1 个答案:

答案 0 :(得分:0)

向第二个视图控制器添加参数:

public var myCity: String?

当您移至第二个ViewController时,将传递数据:

secondVC.myCity = “Amsterdam”

第二个视图控制器的viewDidLoad可以通过调用myCity变量来访问第一个视图的字符串数据。