Добавление свойств к записям адресной книги

Можно добавить собственные свойства к людям и группам в адресной книге. Например, если Вы создаете небольшое приложение для управления клубом собаки, Вы могли бы добавить свойства к каждому лицу, указывающие имя и породу собаки того лица. Или если Вы создаете приложение для управления деловыми контактами, Вы могли бы добавить свойство, перечисляющее все встречи и телефонные вызовы, которые пользователь имел с тем лицом. Эти свойства сохранены в базе данных Address Book. Приложения, не знающие о новых свойствах, не затронуты ими и не изменяют их.

При решении, добавить ли свойство к записи Адресной книги, помните эти проблемы:

Чтобы добавить свойства к каждому лицу или группе, используйте ABPerson или ABGroup метод класса addPropertiesAndTypes:. Эти процедуры берут словарь, в котором ключи являются именами новых свойств, и значения являются своими типами. Обратите внимание на то, что имена свойства должны быть уникальными. Можно хотеть использовать имена стиля обратного DNS для свойств, удостовериться, что никто больше не использует то же имя; например, org.dogclub.dogname или com.mycompany.buildingNumber. Тип может быть одним из типов или списком мультизначения одного из типов, перечисленных в Типах Свойства.

Следующий листинг кода добавляет пользовательское свойство, и затем удаляет его:

    NSNumber* stringProperty = [NSNumber numberWithInteger:kABStringProperty];
    NSString* testProperty = @"com.example.myProperty";
    NSDictionary* dict = [NSDictionary dictionaryWithObject:stringProperty
                                                     forKey:testProperty];
 
    NSInteger result = [ABPerson addPropertiesAndTypes:dict];
    NSLog(@"Added %d properties.", result);
 
    result = [ABPerson removeProperties:[NSArray arrayWithObject:testProperty]];
    NSLog(@"Removed %d properties.", result);