【发布时间】:2013-01-21 22:00:03
【问题描述】:
我正在尝试从联系人中获取姓名和姓氏,并将值存储在几个 NSString 中:
CFStringRef cfName = ABRecordCopyValue(person, kABPersonFirstNameProperty);
self.stName = (NSString *)cfName;
CFRelease(cfName);
CFStringRef cfLastname = ABRecordCopyValue(person, kABPersonLastNameProperty);
self.stLastname = (NSString *)cfLastname;
CFRelease(cfLastname);
问题是,如果联系人中的名字或姓氏为空,当我释放 CFStringRef 时,应用程序会因 EXC_BAD_ACCESS(僵尸?)而崩溃。 如果我不释放 CFStringRef 我有泄漏。
欢迎提出任何建议。
最大
【问题讨论】:
-
您为什么删除了自己的答案?这实际上是正确的解决方案。
CFRelease行为的解释可以在这里找到:stackoverflow.com/a/1608425/653513
标签: iphone ios core-foundation