Вы выпускаете phoneNumbers
сразу после копирования в него. Попробуйте переместить его после использования.
Или, что еще лучше, передать владение объекту NSString через ARC
ABMultiValueRef phoneNumbers = (ABMultiValueRef)ABRecordCopyValue(person, kABPersonPhoneProperty);
number = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
И вообще не нужно звонить CFRelease(phoneNumbers)
.
Что касается ввода чисел в ячейку, вы запутались в своих типах. Вы помещаете NSString
в theNumber
, но вы вытаскиваете Contacts
. А затем отправил ему какое-то сообщение number
.
Вы поместили строку в массив, вы можете только извлечь строку или подкласс.
NSString *numbers = [thenumbers objectAtIndex:indexPath.row];
cell.detailTextLabel.text = numbers;