<!--
{
  "availability" : [
    "iOS: 9.3.0 -",
    "iPadOS: 9.3.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.4 -",
    "tvOS: 9.2.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MKLocalSearchCompleterDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "MapKit"
    ],
    "preciseIdentifier" : "c:objc(pl)MKLocalSearchCompleterDelegate"
  },
  "title" : "MKLocalSearchCompleterDelegate"
}
-->

# MKLocalSearchCompleterDelegate

Methods the delegate calls with search completion data.

```
protocol MKLocalSearchCompleterDelegate : NSObjectProtocol
```

## Overview

You use this protocol when implementing an autocomplete solution for a map in your app. As the user types search terms, use an [`MKLocalSearchCompleter`](/documentation/MapKit/MKLocalSearchCompleter) object to start searching for valid completions. The delegate you assign to that object needs to conform to this protocol. As it receives completions, the local search completer calls the methods of this protocol to deliver the results.

## Topics

### Getting the search results

[`completerDidUpdateResults(_:)`](/documentation/MapKit/MKLocalSearchCompleterDelegate/completerDidUpdateResults(_:))

Tells the method when the specified search completer updates its array of search completions.

[`completer(_:didFailWithError:)`](/documentation/MapKit/MKLocalSearchCompleterDelegate/completer(_:didFailWithError:))

Tells the method when the specified search completer is unable to generate a list of search results.



---

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)