Добавить исключение контакта EXC_BAD_ACCESS для большинства свойств (ABRecord) - PullRequest
0 голосов
/ 07 февраля 2010

При использовании стандартного кода добавления записи я получаю очень странную ошибку при установке свойств, отличных от FirstName и Organization (работают первые 2 строки):

ABRecordSetValue(person, kABPersonFirstNameProperty, location.title , nil);
ABRecordSetValue(person, kABPersonOrganizationProperty, location.title , nil);
ABRecordSetValue(person, kABPersonPhoneProperty, [location telephone], nil);
ABRecordSetValue(person, kABPersonAddressStreetKey, [location addressLine1], nil);
ABRecordSetValue(person, kABPersonAddressCityKey, [location addressTownCity], nil);
ABRecordSetValue(person, kABPersonAddressZIPKey, [location addressPostcode], nil);
ABRecordSetValue(person, kABPersonAddressStateKey, [location addressCounty], nil);

К вашему сведению, это не разница между location.title и [location addressLine1], поскольку я попытался установить kABPersonAddressStreetKey для location.title с той же проблемой

Даже с этим кодом я получаю EXC_BAD_ACCESS

ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABPersonCreate();
ABRecordSetValue(person, kABPersonFirstNameProperty, location.title , nil);
ABRecordSetValue(person, kABPersonPhoneProperty, @"0208 1567890", nil);
ABAddressBookAddRecord(addressBook, person, nil);
ABAddressBookSave(addressBook, nil

Из-за телефонной линии, я наверняка что-то глупо делаю!?!?!?

Ответы [ 3 ]

1 голос
/ 07 февраля 2010

Проверьте подсказки, которые даны в Поиск ошибок EXC_BAD_ACCESS в проекте Какао .

В этом случае также полезна функция NSZombieEnabled, как описано в Отладка приложений

0 голосов
/ 10 февраля 2010

Ах, кажется, это потому, что поля телефона и адреса являются многозначными, я не понял этого

Более подробную информацию можно найти

http://www.modelmetrics.com/tomgersic/iphone-programming-adding-a-contact-to-the-iphone-address-book/

0 голосов
/ 07 февраля 2010

Вы пытались отладить эту строку кода с помощью отладчика для вывода значения переменной местоположения?

Или, по крайней мере, записать значение этой переменной в NSLog ().

Отредактировано:

В этом случае, я думаю, переменная местоположения не отвечает на методы селектора.

Попробуйте "Шаг в" строку 3, чтобы увидеть, что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...