Как получить адресную книгу iPhone электронные письма контакта как NSStrings?

Помните, что стоимость фиксации увеличений дефектов (экспоненциально) как дефекты переживает цикл разработки. Да, команда тестирования могла бы поймать дефект, но будет (обычно) требоваться больше работы, чтобы изолировать и зафиксировать дефект от той точки, чем если бы модульный тест перестал работать, и будет легче представить другие дефекты при фиксации его, если у Вас не будет модульных тестов для выполнения.

Это обычно легче видеть с чем-то большим чем тривиальным примером... и с тривиальными примерами, ну, в общем, если Вы так или иначе испортите модульный тест, человек, рассматривающий его, зафиксирует ошибку в тесте или ошибку в коде или обоих. (Они рассматриваются, правильно?) Как tvanfosson указывает , поблочное тестирование является всего одной частью плана SQA.

В некотором смысле, модульные тесты являются страховкой. Они не гарантия, что Вы поймаете каждый дефект, и это может время от времени казаться как, Вы тратите много ресурсов на них, но когда они действительно ловят дефекты, которые можно зафиксировать, Вы будете тратить намного меньше, чем если бы Вы не имели никаких тестов вообще и должны были зафиксировать все дефекты в нисходящем направлении.

5
задан Rob Napier 29 October 2009 в 18:22
поделиться

2 ответа

It is because emails should not be a string, but an array. People can have many emails!

ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
CFStringRef email = ABMultiValueCopyValueAtIndex(emails, <INDEX>);
NSLog( (NSString *) email);

Here are some docs on things you can do with MultiValueLists

16
ответ дан 18 December 2019 в 07:30
поделиться

The type of this entry is an ABMultiValue (specifically, the type of this field is a kABMultiStringProperty). See "Using Multivalue Lists" for how to read these. See the Address Book Objective-C Constants Reference for what each property returns.

Also, remember that AB functions are subject to the Create Rule. You are responsible for releasing objects you get from a function with the word "Copy" in it.

4
ответ дан 18 December 2019 в 07:30
поделиться