作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在分析我的应用程序的崩溃报告。我似乎对 CFArrayAppendValue 有疑问。
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x330f8268 __CFTypeCollectionRetain
1 CoreFoundation 0x330619ca _CFArrayReplaceValues
2 CoreFoundation 0x330618ba CFArrayAppendValue
我试图了解用户如何导致此崩溃,但这对我来说并不明显。使用的代码非常简单:
CFMutableArrayRef CFgroupMemberMutable = CFArrayCreateMutable (NULL,0,&kCFTypeArrayCallBacks);
for (id key in [dataManager getSpecificGroupMembers:groupID]){
ABRecordRef thisContact = ABAddressBookGetPersonWithRecordID (myAddressBook, [key intValue]);
CFArrayAppendValue (CFgroupMemberMutable,thisContact);
}
是因为我尝试附加 NULL 值吗? (ABRecordRef不存在?)是否回调方法使用错误?
感谢您的帮助,约翰约翰
最佳答案
是的,如果您尝试使用 CFArrayAppendValue() 追加 NULL 值,则会引发异常,并且您将得到 EXC_BREAKPOINT。您的示例中使用的默认回调看起来是正确的。
如果地址簿中没有找到记录,ABAddressBookGetPersonWithRecordID()可能会返回NULL,因此您必须检查NULL,以下是更新的代码:
CFMutableArrayRef CFgroupMemberMutable = CFArrayCreateMutable (NULL,0,&kCFTypeArrayCallBacks);
for (id key in [dataManager getSpecificGroupMembers:groupID]){
ABRecordRef thisContact = ABAddressBookGetPersonWithRecordID (myAddressBook, [key intValue]);
if (thisContact)
{
CFArrayAppendValue (CFgroupMemberMutable,thisContact);
}
}
关于ios - CFArrayAppendValue 崩溃 : EXC_BREAKPOINT (SIGTRAP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263038/
我正在分析我的应用程序的崩溃报告。我似乎对 CFArrayAppendValue 有疑问。 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Co
我是一名优秀的程序员,十分优秀!