Метод для HMServiceGroup в Homekit

Я пытаюсь использовать метод HMServiceGroup в своем приложении для одновременной обработки всех аксессуаров. Но не успех. Подскажите, пожалуйста, простой способ для аксессуаров ручек с использованием метода HMServiceGroup.


person Swift Developer    schedule 16.05.2016    source источник


Ответы (1)


Если все сервисы одного типа, вы можете использовать подобный цикл для определенных типов характеристик или использовать большой оператор switch.

for service in serviceGroup.services {
    for characteristic in service.characteristics {
        if characteristic.characteristicType == HMCharacteristicTypePowerState {
          //turn on or off whatever you want to do 
        }
    }
}

или для доступа к аксессуару вы можете сделать

for service in serviceGroup.services {
    if let accessory = service.accessory {
         //do whatever you need here
    }
}
person Maria    schedule 16.05.2016
comment
как получить доступ к одному свету или лампочке. - person Swift Developer; 17.05.2016
comment
Как выбрать один аксессуар из списка аксессуаров. - person Swift Developer; 17.05.2016
comment
вы спрашиваете в группе обслуживания? или вообще список принадлежностей из дома? - person Maria; 17.05.2016
comment
Я отредактировал приведенный выше код, чтобы получить аксессуар от службы. Если вам нужен список аксессуаров из дома, в доме есть свойство аксессуаров. Таким образом, вы можете сделать то же самое, что и выше, для аксессуара в доме.аксессуары - person Maria; 19.05.2016
comment
Спасибо @Maria за ответ. - person Swift Developer; 25.05.2016
comment
Да, примерно сделано. Еще раз спасибо @Maria ‹Специалист-разработчик Homekit› - person Swift Developer; 30.05.2016