2
任何人試圖使用iOS 9聯繫人框架刪除現有聯繫人組?刪除iOS聯繫人組
我初始化聯繫人存儲器,並請求觸頭組的列表中,這使我CNGroup
實例的數組:
var groups: [CNGroup]?
do {
self.groups = try contactStore.groupsMatchingPredicate(nil)
}
catch { ... }
,然後我顯示在表視圖的組。當用戶滑動表格視圖單元格時,我想從聯繫人存儲中刪除相應的組。
但是,CNContactStore
的deleteGroup
方法需要實例,而不是CNGroup
。 Xcode中給我一個錯誤:
Cannot convert value of type 'CNGroup' to expected type 'CNMutableGroup'
很顯然,如果我嘗試了CNGroup
實例轉換爲CNMutableGroup
:
Could not cast value of type 'CNGroup' (0x370890f8) to 'CNMutableGroup' (0x370899f4)
我意識到:
let saveRequest = CNSaveRequest()
saveRequest.deleteGroup(group as! CNMutableGroup)
do {
try contactStore.executeSaveRequest(saveRequest)
}
catch { ... }
我在運行時得到一個崩潰這是因爲CNGroup
是CNMutableGroup
的超類,但後來我再也看不到如何獲得CNMutableGroup
初始化機智h CNGroup
實例。
我已請求訪問聯繫人框架。 Xcode 7.3,iOS 9.2.1。
那麼,關於如何刪除聯繫人組的任何想法?
最後在iOS 10.3中用Xcode 8.3 + Swift 3.1在最新的API語法中試用了contactStore.execute(saveRequest)。謝謝! –