<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AddressBook",
  "identifier" : "/documentation/AddressBook/ABSearchElement",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Address Book"
    ],
    "preciseIdentifier" : "c:objc(cs)ABSearchElement"
  },
  "title" : "ABSearchElement"
}
-->

# ABSearchElement

An object you use to specify a search query for records in the Address Book database.

```
class ABSearchElement
```

## Overview

The `ABSearchElement` class is “toll-free bridged” with its procedural C opaque-type counterpart. This means that the `ABSearchElementRef` type is interchangeable in function or method calls with instances of the `ABSearchElement` class.

## Topics

### Searching

[`init(forConjunction:children:)`](/documentation/AddressBook/ABSearchElement/init(forConjunction:children:))

Returns a compound search element, created by combining the search elements in an array with the given conjunction.

### Matching

[`matchesRecord(_:)`](/documentation/AddressBook/ABSearchElement/matchesRecord(_:))

Tests whether or not a record matches a search element.

### Constants

[`ABSearchConjunction`](/documentation/AddressBook/ABSearchConjunction)

Constants used to create compound search elements.

[`ABSearchComparison`](/documentation/AddressBook/ABSearchComparison)

Constants used to specify the type of comparison beingmade.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)