SWIFT:如何将 subscriberCellularProviderDidUpdateNotifier 与 Swift 一起使用
SWIFT: How I can use subscriberCellularProviderDidUpdateNotifier with Swift
我想在 Swift 中使用 subscriberCellularProviderDidUpdateNotifier,但我不知道如何放置以及放置在何处。
有任何想法吗?我已经搜索过了,但只有 Objective-C 个样本可用。
我无法测试它,但这是来自这个答案的代码:Possible way to detect sim card detection in ios?
翻译成 swift:
override init() {
super.init()
print("init");
let info = CTTelephonyNetworkInfo()
info.subscriberCellularProviderDidUpdateNotifier = self.cellularProviderDidUpdate
}
func cellularProviderDidUpdate(inCTCarrier: CTCarrier) {
print("event")
}
别忘了import CoreTelephony
在Objective C中你只需要使用"set"和属性块的名称而在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
}
carrier 将是 CTCarrier
.
类型
当然,您始终可以使用引用 CTCarrier
参数的 $0:
networkInfo.subscriberCellularProviderDidUpdateNotifier = {
[=11=]
// Do whatever you need to do with it
}
看起来干净多了。
我想在 Swift 中使用 subscriberCellularProviderDidUpdateNotifier,但我不知道如何放置以及放置在何处。
有任何想法吗?我已经搜索过了,但只有 Objective-C 个样本可用。
我无法测试它,但这是来自这个答案的代码:Possible way to detect sim card detection in ios? 翻译成 swift:
override init() {
super.init()
print("init");
let info = CTTelephonyNetworkInfo()
info.subscriberCellularProviderDidUpdateNotifier = self.cellularProviderDidUpdate
}
func cellularProviderDidUpdate(inCTCarrier: CTCarrier) {
print("event")
}
别忘了import CoreTelephony
在Objective C中你只需要使用"set"和属性块的名称而在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
}
carrier 将是 CTCarrier
.
当然,您始终可以使用引用 CTCarrier
参数的 $0:
networkInfo.subscriberCellularProviderDidUpdateNotifier = {
[=11=]
// Do whatever you need to do with it
}
看起来干净多了。