On mac OS 10.13, NSCollection View only treats the drop as a no-op if the NSDrag Operation is also NSDrag Operation Move.
An NSCollection View Delegate that wants to provide file promises on mac OS 10.12 and later should implement -collection View:pasteboard Writer For Item At Index Path: to return a fully configured NSFile Promise Provider.
The prefetch Data Source should conform to the new NSCollection View Prefetching protocol, which has one required method and one optional method: /* Notifies your 'prefetch Data Source' that items at the specified 'index Paths' are likely to be instantiated and displayed soon.
The Collection View sends this as early as possible, to give your 'prefetch Data Source' the opportunity to begin acquiring any resources such as thumbnail images or metadata that you might need in order to prepare the item's content for display.
To ensure compatibility in light of these subtle behavior changes, Responsive Scrolling in NSCollection Views is enabled only for apps linked on or after mac OS 10.13.
Typically we detect where an application was built by looking at the version of the System, Cocoa, App Kit, or Foundation frameworks the application was linked against.If fetching the data needed to display each item in your Collection View is potentially high-latency, you may wish to assign your Collection View a prefetch Data Source.The Collection View will message this object as early as possible after determining that items at particular index paths are likely to be displayed soon (e.g. It can also notify your prefetch Data Source when previously requested data is no longer expected to be needed.The internal mechanics differ from those on i OS, adopting the Responsive Scrolling model introduced in mac OS 10.9 as the means of "prefetching" content (content is cached on the main thread and scrolling allowed to proceed concurrently on a background thread), but the end result as seen by the user and NSCollection View client code are nearly the same: When Responsive Scrolling is enabled for an NSCollection View, its data Source may now be sent -collection View:item For Represented Object At Index Path: and -collection View:view For Supplementary Element Of Kind:at Index Path: for content that resides outside the NSCollection View’s current visible Rect.The NSCollection View’s delegate will also receive -collection View:will Display Itemfor Represented Object At Index Path: and -collection View:will Display Supplementary View:for Element Kind:at Index Path: for content outside the visible Rect.