国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS 聯(lián)系人(從 iOS7、iOS8 到 iOS9)

2019-11-09 14:47:53
字體:
供稿:網(wǎng)友

從 iOS9 開始 Apple 對聯(lián)系人進(jìn)行了重構(gòu),使用了 Contacts.framework。新的架構(gòu)相對于之前的架構(gòu),獲取聯(lián)系人的方式更加靈活,并且因?yàn)槭?OC (Swift)接口使用起來更加方便。 相對于老的架構(gòu),新的架構(gòu)需要注意的地方主要有一下幾點(diǎn):

新的架構(gòu)讀取聯(lián)系人的時(shí)候需要提前指定需要獲取的數(shù)據(jù)范圍(在 CNContactFetchRequest 中)新的架構(gòu)允許通過 NSPRedicate 來獲取或匹配聯(lián)系人新的架構(gòu)中,聯(lián)系人的位置標(biāo)識符從數(shù)值變成了字符串獲取聯(lián)系人的 fullName 的時(shí)候 AB 架構(gòu)使用 ABRecordCopyCompositeName 即可。新的架構(gòu)需要使用 [CNContactFormatter stringFromContact:contact style:CNContactFormatterStyleFullName] ,這里需要注意,使用 CNContactFormatter 來格式化聯(lián)系人名稱時(shí)同樣需要在 CNContactFetchRequest 中聲明,否則會拋異常。聲明的方式為 : // [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName]用于聲明請求使用 CNContactFormatter 來獲取聯(lián)系人的 fullName[[CNContactFetchRequest alloc] initWithKeysToFetch:@[CNContactIdentifierKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName]]];

關(guān)于 Label

Label 是聯(lián)系人中用來區(qū)分同一個(gè)聯(lián)系人下面不同號碼通途的。聯(lián)系人架構(gòu)預(yù)設(shè)了一些 Label 如:工作,住宅等。 這些預(yù)設(shè)的 Label 在 AB 架構(gòu)和新的架構(gòu)中都有統(tǒng)一的格式 _$!<Home>!$_ ,對于這些預(yù)設(shè)的 Label 可以通過系統(tǒng)接口來轉(zhuǎn)換成本地化的語言描述。這些接口是 ABAddressBookCopyLocalizedLabel[CNLabeledValue localizedStringForLabel:label] 。如,參數(shù)為 _$!<Home>!$_ 則轉(zhuǎn)化成中文后為 “家庭” (住宅)。 對于用戶自定義的 Label 則沒有這種特殊結(jié)構(gòu),用戶定義的是什么,接口就返回什么。 可以通過如下代碼獲取到原始的 Label

// 9 之前CFStringRef label = ABMultiValueCopyLabelAtIndex(record, index);CFRelease(label);// 9 之后CNLabeledValue<CNPhoneNumber *> *currentNumber = SomeNumber;NSString *label = currentNumber.label;

具體的接口使用可以參考下面兩篇文章 參考文章01 參考文章02


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江源县| 洛扎县| 广州市| 延川县| 余姚市| 峨眉山市| 景泰县| 凤台县| 定州市| 高邑县| 甘孜县| 安平县| 射阳县| 海安县| 大安市| 栾城县| 乐至县| 广昌县| 沐川县| 揭东县| 镇原县| 辽阳县| 邹城市| 罗平县| 和龙市| 依兰县| 垦利县| 若尔盖县| 郴州市| 广水市| 海晏县| 花莲县| 三亚市| 元江| 乌苏市| 长宁县| 布尔津县| 偃师市| 宝清县| 楚雄市| 大渡口区|