如何将浮动变量从1 .swift文件解析到另一个swift文件?

时间:2017-06-14 17:14:06

标签: ios swift xcode parsing

我有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)")

                        }

1 个答案:

答案 0 :(得分:0)

解决了我的问题。我将所有代码都带到了主ViewController.swift,现在它可以工作了。无论如何,感谢约书亚的帮助:)。