首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取CBPeripheralManager的订阅中心

获取CBPeripheralManager的订阅中心
EN

Stack Overflow用户
提问于 2014-10-26 23:39:34
回答 1查看 641关注 0票数 0

在实现CBPeripheralManagerDelegate方法-peripheralManager:willRestoreState时,字典中的对象传递给CBPeripheralManagerRestoredStateServicesKey键的CBPeripheralManagerRestoredStateServicesKey文档的方法:

恢复有关服务的所有信息,包括任何包含的服务、特征、特征描述符和订阅中心。

从返回的CBMutableServices数组中,我可以循环遍历服务,然后循环每个服务的特征。然而,我不知道如何访问订阅中心,有人能帮忙吗?

下面是我使用的通用代码,它将值赋值给局部变量等等:

代码语言:javascript
复制
    - (void)peripheralManager:(CBPeripheralManager *)peripheral willRestoreState:(NSDictionary *)dict
{
    advertisementData = dict[CBPeripheralManagerRestoredStateAdvertisementDataKey];

    NSArray *services = dict[CBPeripheralManagerRestoredStateServicesKey];

    for (CBMutableService *service in services) {

        mainService = service;

        for (CBMutableCharacteristic *charactristic in mainService.characteristics) {

            if ([charactristic.UUID.UUIDString isEqualToString:AUTH_UUID]) {

                authCharacteristic = charactristic;

            } else if ([charactristic.UUID.UUIDString isEqualToString:CENTRAL_NAME_UUID]) {

                receiveDeviceNameCharacteristic = charactristic;

            }
        }
        // How would I reinstantiate subscribed centrals?
        // subscribedCentrals = ?

        [manager addService:mainService];
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-27 01:09:59

您可以从下标中心对象中检索CBMutableCharacteristic -

所以,就像-

代码语言:javascript
复制
NSMutableSet *centrals=[NSMutableSet new];

for (CBMutableCharacteristic *charactristic in mainService.characteristics) {

        if ([charactristic.UUID.UUIDString isEqualToString:AUTH_UUID]) {

            authCharacteristic = charactristic;

        } else if ([charactristic.UUID.UUIDString isEqualToString:CENTRAL_NAME_UUID]) {

            receiveDeviceNameCharacteristic = charactristic;

        }
        for (CBCentral *central in characteristic.subscribedCentrals) {
            [centrals addObject:central];
        }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26579255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档