Experimentally, I tried setting "strict concurrency checking" in my project to Complete. This got me some messages like this:
warning build: Instance method 'tableView(_:viewFor:row:)' isolated to global actor 'MainActor' can not satisfy corresponding requirement from protocol 'NSTableViewDelegate'
In some cases, this can be solved by making the function
nonisolated. But for
NSTableViewDelegate methods, I'm going to be calling my table view for various things, and those calls will be
MainActor isolated too, so that's not going to work well.
What's the best solution here? Or should the
NSTableViewDelegate protocol actually just be tagged as
@MainActor since pretty much any implementation is going to have this situation?