Вы можете использовать Reachability.swift Либо вы используете это, либо получите некоторое представление о том, как создается и работает какой-то определенный поток.
Он имеет перечисление Connection , которое выглядит следующим образом:
public enum Connection: CustomStringConvertible {
case none, wifi, cellular
public var description: String {
switch self {
case .cellular: return "Cellular"
case .wifi: return "WiFi"
case .none: return "No Connection"
}
}
}
И NetworkStatus :
public enum NetworkStatus: CustomStringConvertible {
case notReachable, reachableViaWiFi, reachableViaWWAN
public var description: String {
switch self {
case .reachableViaWWAN: return "Cellular"
case .reachableViaWiFi: return "WiFi"
case .notReachable: return "No Connection"
}
}
}
И оттуда вы может сделать следующее:
Википедия имеет довольно полную историю. Это предполагает, что C printf функция возник в функции writef BCPL.
Я сказал бы, что все они прослеживают их корни до BCPL. Мы использовали BCPL, чтобы сделать программирование операционных систем для 6 809 процессоров два десятилетия назад, и это имело a writef()
функция, которая взяла аргументы такой как %i2
(эквивалентный C %2d
).
C был основан на усеченной версии BCPL и наследовал подобный механизм для форматирования вывода, и я вполне уверен, все другие экземпляры взяли его от C после этого.
Я мог быть неправым, это не будет первый или последний раз, но я довольно уверен правильно, учитывая то, что я знаю о языке BCPL и его источниках.