从函数中获得单个结果

时间:2018-11-12 13:38:10

标签: swift

对于那些知道:)

的人来说,这很可能真的很容易。

我正在使用以下内容。

fpingx.ping(hosts: ["google.com"], progress: { (progress) in
            print(progress)
        }) { (result) in
            print(result)

基本上,只是想获取输出到标签中的内容。打印结果显示为:

  

google.com:xmt / rcv /%loss = 1/1/0%,min / avg / max = 2.45 / 2.45 / 2.45

对此我还很陌生,并且搜索了所有我能想到的东西。

开发人员说以下内容,这可能会帮助某人帮助我

结果是一个字典,键是主机字符串,值是FpingxResult。

先谢谢您! :)

1 个答案:

答案 0 :(得分:1)

Cocoapods上的文档(在引号下)状态:

  

请注意,FpingxResult是一个结构定义为:

public struct FpingxResult {

    public let host: String

    /// number of sent
    public let xmt: Int

    /// number of received
    public let rcv: Int

    /// loss percentage (value from 0-100)
    public var loss: Int {
        return xmt > 0 ? (xmt - rcv) * 100 / xmt : 0
    }

    /// nil if rcv is 0
    public let avg: Int?

    /// nil if rcv is 0
    public let min: Int?

    /// nil if rcv is 0
    public let max: Int?

}

由于结果为dictionary,因此您需要首先通过访问域的密钥来访问主机名的值。

let googleResult = result["google.com"] // this gives you a single `FpingxResult`
averageLabel.text = "\(googleResult?.avg ?? 0)"