---
title: "ABAddPropertiesAndTypes(_:_:_:)"
framework: Address Book
role: symbol
role_heading: Function
path: "addressbook/abaddpropertiesandtypes(_:_:_:)"
---

# ABAddPropertiesAndTypes(_:_:_:)

Adds the given properties to all the records of the specified type in the Address Book database, and returns the number of properties successfully added.

## Declaration

```swift
func ABAddPropertiesAndTypes(_ addressBook: ABAddressBookRef!, _ recordType: CFString!, _ propertiesAndTypes: CFDictionary!) -> CFIndex
```

## Parameters

- `addressBook`: The address book for the logged-in user.
- `recordType`: The record type you wish to add properties to: kABGroupRecordType or kABPersonRecordType.
- `propertiesAndTypes`: A CFDictionary object containing the properties to add. In each dictionary entry, the key is a string with the property’s name, and the value is a constant with the property’s type. The property’s name must be unique. You may want to use Java-style package names for your properties, for example, "org.dogclub.dogname" or "com.mycompany.customerID". The property type must be one of the constants described in doc://com.apple.addressbook/documentation/AddressBook/ABPropertyType.

## Return Value

Return Value The number of properties successfully added.

## See Also

### Properties

- [ABCopyArrayOfPropertiesForRecordType(_:_:)](addressbook/abcopyarrayofpropertiesforrecordtype(_:_:).md)
- [ABCopyLocalizedPropertyOrLabel(_:)](addressbook/abcopylocalizedpropertyorlabel(_:).md)
- [ABLocalizedPropertyOrLabel(_:)](addressbook/ablocalizedpropertyorlabel(_:).md)
- [ABRemoveProperties(_:_:_:)](addressbook/abremoveproperties(_:_:_:).md)
- [ABTypeOfProperty(_:_:_:)](addressbook/abtypeofproperty(_:_:_:).md)
