---
title: "requestAssets(for:tagScheme:completionHandler:)"
framework: naturallanguage
role: symbol
role_heading: Type Method
path: "naturallanguage/nltagger/requestassets(for:tagscheme:completionhandler:)"
---

# requestAssets(for:tagScheme:completionHandler:)

Asks the Natural Language framework to load any missing assets for a tag scheme onto the device for the given language.

## Declaration

```swift
class func requestAssets(for language: NLLanguage, tagScheme: NLTagScheme, completionHandler: @escaping @Sendable (NLTagger.AssetsResult, (any Error)?) -> Void)
```

```swift
class func requestAssets(for language: NLLanguage, tagScheme: NLTagScheme) async throws -> NLTagger.AssetsResult
```

## Parameters

- `language`: The language of the tag scheme that you’re asking the framework to load onto the device.
- `tagScheme`: The tag scheme that you’re asking the framework to load onto the device.
- `completionHandler`: A closure the framework uses to notify your app when the tag scheme request has completed.

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: class func requestAssets(for language: NLLanguage, tagScheme: NLTagScheme) async throws -> NLTagger.AssetsResult For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously. Before using this method, use availableTagSchemes(for:language:) to check whether a tag scheme is available on the device. When a tag scheme is unavailable for a specific language, it may be because the framework hasn’t loaded the support for that language. Use this method to ask the Natural Language framework to load any missing assets for that tag scheme. This method returns immediately but the framework may need time to complete the request. When the framework completes the request, it notifies your app with the completionHandler you provided to the method. In your completion handler, use the result parameter to check whether the tag scheme is now available. The Natural Language framework may call your completionHandler immediately if it knows the state of the tag scheme’s assets or if it experiences an error.

## See Also

### Getting the tag schemes

- [availableTagSchemes(for:language:)](naturallanguage/nltagger/availabletagschemes(for:language:).md)
- [NLTagger.AssetsResult](naturallanguage/nltagger/assetsresult.md)
- [tagSchemes](naturallanguage/nltagger/tagschemes.md)
- [NLTagScheme](naturallanguage/nltagscheme.md)
