<!--
{
  "availability" : [
    "iOS: 8.0.0 - 9.0.0",
    "iPadOS: 8.0.0 - 9.0.0",
    "macCatalyst: 13.1.0 - 13.1.0"
  ],
  "documentType" : "symbol",
  "framework" : "AddressBookUI",
  "identifier" : "/documentation/AddressBookUI/ABPeoplePickerNavigationController/predicateForSelectionOfPerson",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Address Book UI"
    ],
    "preciseIdentifier" : "c:objc(cs)ABPeoplePickerNavigationController(py)predicateForSelectionOfPerson"
  },
  "title" : "predicateForSelectionOfPerson"
}
-->

# predicateForSelectionOfPerson

Optionally determines if a selected person should be returned to the app or displayed.

```
@NSCopying var predicateForSelectionOfPerson: NSPredicate? { get set }
```

## Discussion

If the predicate evaluates to true for the selected person, the selected person is returned to the app. If the predicate evaluates to false, the selected person is displayed.

If this property is `nil`, the person is returned to the app if the delegate implements [`peoplePickerNavigationController(_:didSelectPerson:)`](/documentation/AddressBookUI/ABPeoplePickerNavigationControllerDelegate/peoplePickerNavigationController(_:didSelectPerson:)), and the person is displayed if the delegate implements [`peoplePickerNavigationController(_:didSelectPerson:property:identifier:)`](/documentation/AddressBookUI/ABPeoplePickerNavigationControllerDelegate/peoplePickerNavigationController(_:didSelectPerson:property:identifier:)).

---

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)