---
title: "init(filterBy:sortBy:modelContext:isolation:)"
framework: swiftdata
role: symbol
role_heading: Initializer
path: "swiftdata/resultsobserver/init(filterby:sortby:modelcontext:isolation:)"
---

# init(filterBy:sortBy:modelContext:isolation:)

Creates a new unsectioned observer with individual filter and sort criteria and a model context.

## Declaration

```swift
convenience init(filterBy: Predicate<Element>? = nil, sortBy: [SortDescriptor<Element>]? = nil, modelContext: ModelContext, isolation: isolated (any Actor)? = #isolation) throws
```

## Parameters

- `filterBy`: An optional predicate to filter the results.
- `sortBy`: An optional array of sort descriptors to order the results.
- `modelContext`: The model context to fetch from and observe for changes.

## Discussion

Discussion note: An error if the initial fetch fails.

## See Also

### Creating a results observer with a predicate

- [init(filterBy:sortBy:sectionBy:modelContext:isolation:)](swiftdata/resultsobserver/init(filterby:sortby:sectionby:modelcontext:isolation:)-4ainb.md)
- [init(filterBy:sortBy:sectionBy:modelContext:isolation:)](swiftdata/resultsobserver/init(filterby:sortby:sectionby:modelcontext:isolation:)-gsuz.md)
- [init(filterBy:sortBy:modelContainer:isolation:)](swiftdata/resultsobserver/init(filterby:sortby:modelcontainer:isolation:).md)
- [init(filterBy:sortBy:sectionBy:modelContainer:isolation:)](swiftdata/resultsobserver/init(filterby:sortby:sectionby:modelcontainer:isolation:)-5ufvn.md)
- [init(filterBy:sortBy:sectionBy:modelContainer:isolation:)](swiftdata/resultsobserver/init(filterby:sortby:sectionby:modelcontainer:isolation:)-9lfy0.md)
