An object that identifies the portions of your layout that need to be updated.
- macOS 10.11+
Invalidation contexts are a way to improve the efficiency of layout operations and must be supported explicitly by the layout object. Instead of invalidating the entire layout, you can create an invalidation layout object that specifies only the portions of the layout that changed. You then pass that invalidation context to the
invalidate method of the layout object.
Typically, you ask the layout object to create an invalidation context for you. The
NSCollection class defines methods for creating a supported invalidation context. If you define a custom layout, you can define additional methods for creating invalidation contexts with custom information. Layout objects may also create invalidation contexts in response to specific changes. For example, layout objects automatically create invalidation contexts when you change the collection view’s data source, when you insert or delete items, and when you reload the collection view’s data.
If you define a custom layout object, you can also subclass
NSCollection and add properties that are specific to your layout object. Creating a custom invalidation context is not required and should only be done when your layout object has additional ways to optimize the layout process.
Fore more information about how to support custom invalidation contexts in your layout objects, see