implementing NSOutlineView not resizing correctly when dynamically updating data in macOS 13.4
I'm optimizing some code but I've been banging my head against this for hours. I'm experiencing issues with an `NSOutlineView` in my macOS 13.4 application. The outline view is supposed to dynamically update its rows when I add or remove items from the underlying data source, but the resizing behavior is inconsistent. Sometimes, after performing a series of additions and deletions, the outline view doesn't reflect the correct size until I manually resize the window or call `reloadData()`. I've tried implementing the `NSTableViewDelegate` methods to handle resizing but it hasn't resolved the scenario. Hereโs a snippet of how I'm updating the data: ```swift class MyDataSource: NSObject, NSOutlineViewDataSource { var items: [MyItem] = [] func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int { return items.count } func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any? { return items[index] } func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool { return false } func addItem(_ newItem: MyItem) { items.append(newItem) outlineView.reloadData() // This sometimes doesn't trigger a resize } func removeItem(at index: Int) { items.remove(at: index) outlineView.reloadData() // Same scenario here } } ``` I also attempted to call `outlineView.sizeToFit()` after updates, but it didnโt help either. The outline view is set to auto layout and the constraints seem fine. Iโm not sure if this is a bug in macOS 13.4 or if I'm missing a crucial step in updating the view. Any suggestions on how to ensure the outline view resizes properly after data updates would be greatly appreciated. For context: I'm using Swift on Windows. Thanks for your help in advance!