현재 주소록에서 모든 연락처를 가져오고 특정 연락처를 만난 마지막 날짜를 저장하려고합니다. 다음과 같이 그러므로 나는 동시에 달력을 가져 오는 해요 :ABRecordCopyValue() SIGSEGV
for (EKEvent* event in events) {
for (EKParticipant* attende in [event attendees]) {
ABRecordRef record = [attende ABRecordWithAddressBook:addressBook];
if([contact.name isEqualToString:[NSString stringWithFormat:@"%@ %@", (__bridge NSString *)ABRecordCopyValue(record, kABPersonFirstNameProperty), (__bridge NSString *)ABRecordCopyValue(record, kABPersonLastNameProperty)]]){
contact.lastMet = [NSString stringWithFormat:@"%@",[formatter stringFromDate:event.endDate]];
}
}
}
슬프게도 코드 충돌 신호 SIGSEGV와 함께 "만약"-statement 줄에서, 충돌 로그는 실패() ABRecordCopyValue 발생을 나타냅니다. .. 어떤 제안이 문제를 해결하는 방법?
오류가 발생하면'record'는 nil입니까? 'ABRecordWithAddressBook'의 반환 값은'참가자의 주소록 레코드이거나 레코드가 발견되지 않으면 nil입니다 .' 레코드가 nil이면 복사 작업이 실패 할 수 있습니다. – ikuramedia