Я хочу использовать подписчикCellularProviderDidUpdateNotifier в Swift, но я не знаю, как и где его можно разместить.
Любые идеи? Я искал это, но доступны только образцы Objective-C.SWIFT: Как я могу использовать подписчикCellularProviderDidUpdateNotifier с Swift
4
A
ответ
2
В Objective C нужно просто использовать " набор»и название блока недвижимости в Swift вам нужно присвоить его:
// Declare your class member
let networkInfo = CTTelephonyNetworkInfo();
// In viewDidLoad or in your custom method
networkInfo.subscriberCellularProviderDidUpdateNotifier = { carrier in
// Do whatever you wanna do when a callback comes
}
перевозчик будет иметь тип CTCarreir
.
Конечно, вы всегда можете использовать $ 0, который относится к CTCarreir
аргумент:
networkInfo.subscriberCellularProviderDidUpdateNotifier = {
$0
// Do whatever you need to do with it
}
и это выглядит намного более чище.
-1
я не смог проверить это, но это код из этого ответа: Possible way to detect sim card detection in ios? переведены на скор:
override init() {
super.init()
print("init");
let info = CTTelephonyNetworkInfo()
info.subscriberCellularProviderDidUpdateNotifier = self.cellularProviderDidUpdate
}
func cellularProviderDidUpdate(inCTCarrier: CTCarrier) {
print("event")
}
Не забудьте import CoreTelephony
Где это осуществить? Appdelegate или любой другой VC будет делать? –
Вы можете реализовать его в каждом из них – OhadM