【发布时间】:2021-05-14 17:26:09
【问题描述】:
我是一名试图在 Xcode 中制作应用程序的学生,但我遇到了一个我无法找到解决方案的问题。我想访问我存储在另一个类中的字符串并将其设置为我的 ViewController 的标签文本。
在我的 ViewController 中,我调用了一个不同的类,然后它通过一个 API 调用并为我找到一个详细说明某个地方的天气的字符串。这就是我在 ViewController 类中调用的样子
func getWeather() {
manager = DataManager()
manager.fetchData(query: getQueryString();
}
这就是从 DataManager 类调用的样子
func rainyWeatherPopulate(str: String){
LoadEvents.loadEvents(type: EventType.rain, str: str)
}
在 loadEvents 函数中,我得到一个详细说明天气类型的字符串,我想将其作为 UILabel 的文本放入 ViewController 类中,但我不知道该怎么做
有什么方法可以将 ViewController 的实例传递给我的 loadEvents 静态函数,或者我可以通过 LoadEvents 类在 ViewController 中设置 UILabel 的文本吗?
【问题讨论】:
-
作为一般规则,您应该将视图控制器的视图视为私有视图。 (这是“封装”原理的一个示例,您将程序(类)的每个部分的内部细节相互隐藏,并且只在类之间使用定义良好的公共接口)@jnpdx 传入的解决方案闭包优雅地解决了这个问题。
标签: ios swift uiviewcontroller uilabel