- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想存储 Content
的 ABRecordRef
在我自己的应用程序中独立于 AdressBook
中的条目.在通过 stackoverflow 和苹果开发者网站交叉阅读后,我发现这是最好的方法:
如果做对了,就需要一个 NSCoding
符合 NSObject
所有值为 ABRecordRef
的子类和至少函数initWithABRecordRef
和 getABRecordRefFromPeopleData
(假设一个人将他的类(class)命名为peopleData),其中initWithABRecordRef
将填充 ABRecordRef
中的所有值(如果不为空)到自己的类的实例和getABRecordRefFromPeopleData
返回 ABRecordRef
不透明类型,数据存储在自己类的实例中。
我的问题:
我想知道那里是否有人已经这样做了,因为我可以想象,其他人之前也遇到过完全相同的问题。如果是这样,上这门课会很糟糕,如果不是,我会自己尝试一下,如果需要的话,把结果加载到这里。
也许您甚至知道更好的方法来做到这一点?
如果您确实实现了解决方案,请分享。如果你需要同样的,我会很感激一起解决这个问题。
编辑:
我现在开始研究这件事,(正如我所料)我遇到了一些不清楚的问题。
至于kABStringPropertyType
值(value)观我的概念很简单。小例子:
@implementation RealRecord
@synthesize firstName; //NSString
- (id)initWithRecordRef:(ABRecordRef)record{
//Single valued entrys
NSString *contactName = (NSString *)ABRecordCopyValue(record, kABPersonFirstNameProperty);
firstName=contactName;
[contactName release];
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder{
//single value entrys
self.firstName= [aDecoder decodeObjectForKey:@"firstName"];
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:firstName forKey:@"firstName"];
}
- (ABRecordRef)returnABRecordRefFromRealRecord{
ABRecordRef returnRecord =ABPersonCreate();
ABRecordSetValue(returnRecord, kABPersonFirstNameProperty, firstName, NULL);
return returnRecord;
}
kABMultiStringPropertyType
做同样的事情.我给我做了一个
NSMutableArray
emailList 并继续这样:
- (id)initWithRecordRef:(ABRecordRef)record{
//Multi valued entrys
ABMutableMultiValueRef email=ABRecordCopyValue(record, kABPersonEmailProperty);
for (int i = 0; i < ABMultiValueGetCount(email); i++) {
NSString *anEmail = [(NSString*)ABMultiValueCopyValueAtIndex(email, i) autorelease];
[emailList addObject:anEmail];
}
return self;
}
emailList
中的所有电子邮件设置一个 key ? ?
最佳答案
研究使用 libsqlite3.dylib 并创建一个 sql 数据库,该数据库将访问为所有属性生成的平面文件。
带有 sqlite3 库的示例 iOS 项目在这里:
http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_7_Application
&
在此处使用 ABAddressbook 为联系人的多值属性执行此操作的详细信息:
http://linuxsleuthing.blogspot.com/2012/10/addressing-ios6-address-book-and-sqlite.html
关于iphone - 构建 NSObject 以将 ABRecordRef 数据保存到本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7150812/
我想将 ABRecordRef 转换为 vCard 或 NSData 以通过蓝牙传输。我遇到了你的问题,我想知道你是否能弄清楚该怎么做。 谢谢 最佳答案 非常简单,我正在使用 iOS 6 并使用以下代
[背景:iOS 7、Xcode 5,均为 2014 年 2 月最新版本。测试数据是 iPhone 5(真实设备,非模拟器)] 我的目标是使用 AddressBookUI 方法允许用户指定联系人,然后使
我有以下cpde: ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(s
我正在创建一个应用程序来同步地址簿。我已经将地址簿记录同步到基于本地核心数据的数据库中,并且我已经可以获取它们了。使用 ABRecordId 可以轻松同步记录。我将某条地址簿记录的记录id存储到我的本
当遍历所有地址簿联系人时,有没有办法查看记录是否为 Facebook-only 记录?即在iOS设置中添加Facebook时插入的地址簿记录。 我试图跳过这些记录,只查看用户输入的或从其他来源同步的记
我正在尝试使用 swift 从地址簿中获取人们的生日。 let ab = ABAddressBook.sharedAddressBook() var birthday: CFDateR
我想获取 ABPersonRef 和 ABGroupRef 的所有属性的列表,而不必使用 kABPersonFirstNameProperty、kABPersonLastNameProperty
ABRecordRef addressBookRecord = ...; ABNewPersonViewController *newPersonViewController = [[[ABNewPe
我有以下类,它是 ABPerson (ABRecordRef) 的包装器: @interface Recipient : NSObject { ABRecordRef person; } - (id
我想将 ABRecordRef 保存到 SQLite3 DB。我应该为 SQLite 字段使用哪种类型的数据类型? 最佳答案 您必须提取地址的各个组成部分并将它们保存为文本字符串。 更新: 如果您只需
我已经访问了地址簿并且成功地从中完全提取了记录和必要的信息。我还提取了 recordid。我的问题是以后如何使用这个 recordid 来提取记录。我使用的代码是: ABRecordID record
我想存储 Content的 ABRecordRef在我自己的应用程序中独立于 AdressBook 中的条目.在通过 stackoverflow 和苹果开发者网站交叉阅读后,我发现这是最好的方法: 如
我手动将电子邮件 ID 添加到 ABRecordRef,这会返回异常。查看代码 ABRecordRef person=ABPersonCreate(); NSString *email=@"adsas
我想存储 ABRecordRef对象,即格式为 使用 Coredata。 虽然我尝试像这样存储 NSEntityDescription *entityDescriptionStrings = [NSE
我需要在 AdreesBook 中找到联系人才能添加新的社交网络。有时我必须通过其电话和电子邮件或通过其电话、名字和姓氏来查找联系人,是否有任何类型的查询来获取 ABRecordRef 联系人而不是等
您好,我使用以下代码并通过了 abid,我能够向安装了 WhatsApp 的用户发送消息,但是在我发送消息之前我如何知道用户已经设置了 WhatsApp?如果该选项不适用于特定用户,我不想启用该选项。
我正在将一组 ABRecordID(实际上包装在 NSNumber 中)存储到 NSUserDefaults 中。到目前为止一切顺利,但现在我需要将它们加载到 ABRecordRef 中,但找不到要使
我想创建一个 ABRecordRef 数组来存储具有有效生日字段的联系人。 NSMutableArray* bContacts = [[NSMutableArray alloc] init];
我想将 ABRecordRef 存储在核心数据的“客户端”实体中。 我在苹果文档中读到 ABRecordRef 是一种原始的 C 数据类型。据我所知,您只能在核心数据中插入对象。考虑到这一点,将其存储
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我是一名优秀的程序员,十分优秀!