ios - (Swift 5) 在函数之间传递变量
问题描述
我需要从不同函数中的函数访问变量,但 Xcode 没有向我显示自动填充中的变量。
我想访问变量trinkgeldAnzeige
:gesamtKostenAnzeige
和kostenProPersonAnzeige
from ausrechnenDerKosten
inUIElementeAnzeigen
这是代码:
func ausrechnenDerKosten() {
if !(betragEingeben.text!.isEmpty) && !(personen.text!.isEmpty) {
betrag = Double(betragEingeben.text!)!
trinkgeldAnzeige = Double(prozentSlider.value)
trinkgeldAnzeige = (betrag * trinkgeldAnzeige) / 100
gesamtKostenAnzeige = betrag + trinkgeldAnzeige
kostenProPersonAnzeige = gesamtKostenAnzeige / Double(personenAnzeige)
UIElementeAnzeigen()
} else {
anzeige(message: "Bitte Zahl Eingeben!")
}
}
我需要在这里访问变量:***Variable***(placeholder)
func UIElementeAnzeigen() {
let trinkgeldAnzeigenLabel = String(format: "%.2f", ***Variable***)
let kostenProPersonAnzeigeLabel = String(format: "%.2f", ***Variable***)
let gesamtKostenAnzeigeLabel = String(format: "%.2f", ***Variable***)
trinkgeldAnzeigenLabel.text = "Trinkgeld: " + trinkgeldAnzeigenLabel + " euro"
kostenProPersonAnzeigeLabel.text = "Trinkgeld: " + kostenProPersonAnzeigeLabel + " euro"
gesamtKostenAnzeigeLabel.text = "Trinkgeld: " + gesamtKostenAnzeigeLabel + " euro"
}
但正如我所描述的,Xcode 并没有在我编写变量以自动填充变量的地方显示我。
解决方案
如果trinkgeldAnzeige
,gesamtKostenAnzeige
和kostenProPersonAnzeige
是属性,您可以UIElementeAnzeigen
按照@vadian 解释的方法直接访问它们。您可以判断它们是否是属性,因为您将在函数之外定义它们,如下所示:
var trinkgeldAnzeige: Double = 0
var gesamtKostenAnzeige: Double = 0
var kostenProPersonAnzeige: Double = 0
否则,您需要修改声明UIElementeAnzeigen
以将它们作为参数:
func UIElementeAnzeigen(_ trinkgeldAnzeige: Double, _ gesamtKostenAnzeige: Double, _ kostenProPersonAnzeige: Double)
你可以这样称呼它:
UIElementeAnzeigen(trinkgeldAnzeige, gesamtKostenAnzeige, kostenProPersonAnzeige)
如果您不在_
函数声明中的每个变量之前添加,您可以使用以下命令调用它:
UIElementeAnzeigen(trinkgeldAnzeige: trinkgeldAnzeige, gesamtKostenAnzeige: gesamtKostenAnzeige, kostenProPersonAnzeige: kostenProPersonAnzeige)
推荐阅读
- julia - 如何在 Flux.jl 中定义自定义训练循环
- node.js - Sequelize init 含义
- c++ - 如何在C/C++中使用windows.h来控制其他程序的音量控制
- python - 如何让 Selenium 直接在现有的 Firefox 配置文件上运行?
- reactjs - GatsbyJS:从 ACF 转发器字段创建 json/结构化数据
- r - 如何在R中分别转换列表中的多个列
- rest - 在 Groovy (Jenkins) 中循环执行 HTTP Post
- python - SQLAlchemy 过滤器和连接:如何提高大型数据库的性能
- html - 如何摆脱字体上方的空白以正确对齐它?
- python - ctypes.c_wchar_p("Some String") 只返回 "S"