我读过 stackoverflow – How do I serialize a simple object in iPhone sdk,但我还有疑问:
我应该扩展ABRecordRef吗?可能吗?或者我应该实现自己的类NSObject?
(类似的问题是在Mac forums,没有回答)
谢谢!
解决方法 ABRecord是一种不透明的C类型.它不是Objective-C意义上的对象.这意味着您无法扩展它,您无法在其上添加类别,您无法发送消息.您唯一能做的就是使用ABRecord作为参数调用 ABRecord Reference中描述的函数.您可以做两件事来保持ABRecord arround引用的信息:
>通过ABRecordGetRecordID()获取ABRecords ID. ABRecordID定义为int32_t,因此您可以将其强制转换为NSInteger并将其存储在任何您喜欢的位置.您可以稍后从ABAddressBookGetPersonWithRecordID()或ABAddressBookGetGroupWithRecordID()获取记录.但是请注意,同时用户或其他应用程序可能会更改甚至删除记录.
>将记录中的所有值复制到标准NSObject子类,并使用NSCoding或其他技术来存储它.然后,您将无法从用户可能进行的记录更改或添加中获益.
因为你可以结合两种方法.
总结以上是内存溢出为你收集整理的IPhone SDK – 如何序列化ABRecord?全部内容,希望文章能够帮你解决IPhone SDK – 如何序列化ABRecord?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)