我有2个.swift文件。一个是viewcontroller (ViewController.swift)
另一个是通过JSSON获取数据的函数。 (WeatherGetter.swift)
我想将json函数(WeatherGetter.swift)
中的数据显示给viewcontroller (ViewController.swift)
。我已经看到很多方法可以做到这一点,但我不能让他们工作。任何人都可以在swift中为swippet代码提供正确的代码吗?
因此需要在另一个文件中显示包含风向的1个浮点变量。
我试过了:
let wind = ViewController()
wind.getWindDeg(windDeg: name2 as! Float)
将name2变量作为windDeg var发送,并在其他.swift文件中将其读取为:
func getWindDeg(windDeg: Float) {
print(windDeg)
}
这在调试中作为打印工作,但是当我想将它放入文本字段或文本标签时,它会崩溃应用程序,否则它将无法工作,因为它是一个Float。当我尝试将float转换为字符串时,它也不起作用。它表示为0.0
然后我找到了一个名为prepareForSegue的东西,所以我尝试了一下,但因为WeatherGetter.swift没有viewcontroller,所以我觉得它不起作用:
func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "LoadApp") {
// pass data to next view
if let destinationVC = segue.destination as? ViewController {
destinationVC.numberToDisplay = counter
}
}
}
这是获取数据的JSON代码:
如果让nestedDictionary = dictionary [“current”]为? [String:Any] {
//print("test")
//access nested dictionary values by key
如果让name2 = nestedDictionary [“windBearing”] { print(“WindRichting:(name2)”)
let wind = ViewController()
(name2 as NSString?)?.floatValue
self.naampje = name2 as! Float
//print("Uiteindelijke windrichting2: \(self.naampje)")
}
答案 0 :(得分:0)
解决了我的问题。我将所有代码都带到了主ViewController.swift,现在它可以工作了。无论如何,感谢约书亚的帮助:)。