我正在开发一个使用标准iPhone通讯录(数据库)联系人的iPhone应用程序。我需要为联系人添加一些额外的属性,但正如我所看到的,iOS API 不允许向联系人添加额外/自定义属性。
问题:1. 是否可以处理 iOS 地址簿 API 中的额外属性?2. 我需要专家关于如何为用户/联系人存储额外数据的标准方法的建议:使用 SQLite、XML,或者是否有一些专用于每个应用程序的数据存储?
自定义字段追加到通讯簿记录。您应该考虑查看核心数据,您可以在其中存储映射到记录 ID 的自定义字段。
将自定义属性添加到地址簿。
下面的代码清单添加一个自定义属性,然后删除 它:
NSNumber* stringProperty = [NSNumber numberWithInteger:kABStringProperty]; NSString* testProperty = @"com.example.myProperty"; NSDictionary* dict = [NSDictionary dictionaryWithObject:stringProperty forKey:testProperty]; NSInteger result = [ABPerson addPropertiesAndTypes:dict]; NSLog(@"Added %d properties.", result); result = [ABPerson removeProperties:[NSArray arrayWithObject:testProperty]]; NSLog(@"Removed %d properties.", result);
更多信息:
https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AddressBook/Tasks/AddingProperties.html