• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 删除 iOS 联系人组

[复制链接]
菜鸟教程小白 发表于 2022-12-13 13:18:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

有人尝试使用 iOS 9 联系人框架删除现有的联系人组吗?

我初始化联系人存储并请求联系人组列表,这为我提供了一个 CNGroup 实例数组:

var groups: [CNGroup]?

do {
    self.groups = try contactStore.groupsMatchingPredicate(nil)
}
catch { ... }

然后我在表格 View 中显示组。当用户滑动表格 View 单元格时,我想从联系人存储中删除相应的组。

但是,CNContactStoredeleteGroup 方法需要一个CNMutableGroup 实例,而不是CNGroup。 Xcode 给我一个错误:

Cannot convert value of type 'CNGroup' to expected type 'CNMutableGroup'

显然,如果我尝试将 CNGroup 实例转换为 CNMutableGroup:

let saveRequest = CNSaveRequest()
saveRequest.deleteGroup(group as! CNMutableGroup)
do {
    try contactStore.executeSaveRequest(saveRequest)
}
catch { ... }

我在运行时崩溃了:

Could not cast value of type 'CNGroup' (0x370890f8) to 'CNMutableGroup' (0x370899f4)

我意识到这是因为 CNGroupCNMutableGroup 的父类(super class),但我又一次看不到如何获得 CNMutableGroupCNGroup 实例初始化。

我已请求访问联系人框架。 Xcode 7.3,iOS 9.2.1。

那么,关于如何删除联系人组有什么想法吗?



Best Answer-推荐答案


转换 CNGroup 的可变副本可以修复此问题。

let saveRequest = CNSaveRequest()
saveRequest.deleteGroup(group.mutableCopy() as! CNMutableGroup)
do {
    try contactStore.executeSaveRequest(saveRequest)
}
catch { ... }

关于ios - 删除 iOS 联系人组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36290051/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap