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。
先感谢您!:)
解决方案
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)"
推荐阅读
- excel - 当某些单元格为空时,在excel VBA中复制具有多个条件的行不起作用
- kubernetes - DNS 在 Kubernetes 中无法正常工作
- excel - 我有一个循环进入另一个循环,但它们没有按我预期的那样工作
- puppeteer - 有没有办法检测 Web 客户端是否是 puppeteer 实例?
- c# - 点击Treeview时如何触发后面的Listview?
- php - 从 Picasa 迁移到 Googleapis
- javascript - 无法读取 null 的属性“toLowerCase”
- java - Spring Boot 与 devtools 调用 SOAP API
- php - 检查它是新的自定义帖子还是使用 save_post 钩子更新
- c++ - 多条件模板特化 c++