<!--
{
  "availability" : [
    "macOS: 10.15.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "NetworkExtension",
  "identifier" : "/documentation/NetworkExtension/NEFilterSettings/init(rules:defaultAction:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Network Extension"
    ],
    "preciseIdentifier" : "c:objc(cs)NEFilterSettings(im)initWithRules:defaultAction:"
  },
  "title" : "init(rules:defaultAction:)"
}
-->

# init(rules:defaultAction:)

Creates a new settings instance from an array of rules and a default action.

```
init(rules: [NEFilterRule], defaultAction: NEFilterAction)
```

## Parameters

`rules`

An array containing an ordered list of [`NEFilterRule`](/documentation/NetworkExtension/NEFilterRule) objects. The maximum number of rules that this array can contain is 1000.

`defaultAction`

The [`NEFilterAction`](/documentation/NetworkExtension/NEFilterAction) to take for flows of network data that don’t match any of the specified rules. The default `defaultAction` is [`NEFilterAction.filterData`](/documentation/NetworkExtension/NEFilterAction/filterData). If `defaultAction` is [`NEFilterAction.allow`](/documentation/NetworkExtension/NEFilterAction/allow) or [`NEFilterAction.drop`](/documentation/NetworkExtension/NEFilterAction/drop), then the `rules` array must contain at least one [`NEFilterRule`](/documentation/NetworkExtension/NEFilterRule).

---

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)