如何更改传递参数 Noobie 的函数内部的外部变量 swift
How do you change an outside variable inside a function passing a parameter Noobie in swift
如何通过传递参数更改函数内部的外部变量?; Noobie swift
var varIsTrue:Bool = true
import UIKit
extension UIDevice {
class ViewController: UIViewController {
override func viewDidLoad() {
changeVar(varIsTrue , false)
}
func changeVar(_ varName:? , _ arg:Bool){
varName = arg // Xcode cannot assign to value: 'varName' is a 'let' constant
}
// varName:? Don't know if the question mark should be a :String some kind of argument or what?
}
}
假设您的示例只是一个抽象概念,并且您正在尝试理解从函数内部更改变量的概念,这将是一个解决方案。
就像评论中已经提到的那样,您需要使用 inout
并传递“外部变量”的引用(由前导 &
表示)。
var varIsTrue: Bool = true
changeVar(&varIsTrue , false)
func changeVar(_ property: inout Bool , _ arg: Bool){
property = arg
}
如何通过传递参数更改函数内部的外部变量?; Noobie swift
var varIsTrue:Bool = true
import UIKit
extension UIDevice {
class ViewController: UIViewController {
override func viewDidLoad() {
changeVar(varIsTrue , false)
}
func changeVar(_ varName:? , _ arg:Bool){
varName = arg // Xcode cannot assign to value: 'varName' is a 'let' constant
}
// varName:? Don't know if the question mark should be a :String some kind of argument or what?
}
}
假设您的示例只是一个抽象概念,并且您正在尝试理解从函数内部更改变量的概念,这将是一个解决方案。
就像评论中已经提到的那样,您需要使用 inout
并传递“外部变量”的引用(由前导 &
表示)。
var varIsTrue: Bool = true
changeVar(&varIsTrue , false)
func changeVar(_ property: inout Bool , _ arg: Bool){
property = arg
}