Как переместить или скопировать объекты CNGroup из одного CNContainer в другой в Apple iOS Contacts Framework?

Как мне переместить или скопировать группы из одного контейнера в другой в Apple iOS Contacts Framework?

Пока у меня есть следующий код, но он не работает, так как нет никакого способа превратить объект CNGroup в объект CNMutableGroup, чтобы можно было использовать метод экземпляра CNSaveRequst.add(group:_:). Следующий код генерирует ошибку времени выполнения, в которой говорится, что я не могу привести CNGroup к CNMutableGroup в соответствующей строке кода.

if let originalContainer = containers.filter({ $0.identifier == "A1725809-4180-4796-AE29-ADA6EBC7607A" }).first {

    let groups: [CNGroup] = try contactStore.groups(matching: CNGroup.predicateForGroupsInContainer(withIdentifier: originalContainer.identifier))

    let saveRequest = CNSaveRequest()

    for group in groups {

        let mutableGroup = group as! CNMutableGroup

        saveRequest.add(mutableGroup, toContainerWithIdentifier: contactStore.defaultContainerIdentifier())

    }

    do {
        try contactStore.execute(saveRequest)
    } catch {
        print(error)
    }

}

0 ответов

Другие вопросы по тегам