Determines whether a feature is enabled for a given user. The purpose of this method is to allow you to separate the process of developing and deploying features from the decision to turn on a feature. Build your feature and deploy it to your application behind this flag, then turn the feature on or off for specific users.
## Version
SDK v3.1.0
## Description
This method traverses the client's datafile and checks the feature flag for the feature key that you specify.
This method evaluates the feature rollout for a user. The method checks whether the rollout is enabled, whether the user qualifies for the audience targeting, and then randomly assigns either `on
` or `off
` based on the appropriate traffic allocation. If the feature rollout is on for a qualified user, the method returns `True
`.
## Parameters
The table below lists the required and optional parameters in Swift.
Parameter | Type | Description |
**featureKey** _required_ | String | The key of the feature to check. The feature key is defined from the Features dashboard. |
**userId** _required_ | String | The ID of the user to check. |
**attributes** _optional_ | Dictionary<String, Any> | A map of custom key-value string pairs specifying attributes for the user that are used for audience targeting. |
## Returns
YES if the feature is enabled for the user. Otherwise, false.
## Examples
This section shows a simple example of how you can use the `IsFeatureEnabled
` method.
## Source files
The language/platform source files containing the implementation for Swift is [OptimizelyClient.swift](🔗).