Получить индивидуальный результат от функции - PullRequest
0 голосов
/ 12 ноября 2018

Скорее всего, это будет действительно легко для тех, кто знает:)

Я использую следующее.

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 голосов
/ 12 ноября 2018

Документы на 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?

}

Поскольку в результате получается словарь , вам сначала потребуется получить доступ к значению имени хоста, получив ключ для домена.

let googleResult = result["google.com"] // this gives you a single `FpingxResult`
averageLabel.text = "\(googleResult?.avg ?? 0)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...