objective-c - 重新聚焦时重新加载 NSTableView

标签 objective-c cocoa macos nstableview

在我的应用程序中,我有一个 NSWindow,它有一个 NSTableView 对象和一些按钮。当用户按下“new”按钮时,“ItemAdd”NSWindowController 被激活,用户可以在其中输入要添加到 NSTableView 的项目的属性。

我的问题是这样的:由于 NSTableView 需要 reloadData 来更新其 View ,因此在 ItemAdd 窗口关闭并聚焦后如何调用 reloadData使用 NSTableView 切换回 NSWindow。

感谢您的帮助!

最佳答案

您可以将重新加载数据放入通知处理程序中:

将其放入您希望调用通知的对象的初始化方法中:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeMainWindow) name:@"NSWindowDidBecomeKeyNotification" object:nil];

然后创建一个类似这样的方法:

- (void) didBecomeMainWindow
{
    [tableView reloadData];
}

关于objective-c - 重新聚焦时重新加载 NSTableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012278/

相关文章:

cocoa - 在 OSX 上的 Web View 中显示的 Google map 顶部绘制 subview

swift - 在 AKNodeOutputPlot (AudioKit) 上选择波形

MacOSX 或 AppleScript : get current URL from Firefox

python - OpenCV 3.0 的 Homebrew 程序安装未链接到 Python

objective-c - 在 Objective-C 中将 NSArray 过滤成一个新的 NSArray

objective-c - 仅在 MacOS Sierra 上调用 AudioConverterFillComplexBuffer 导致 CrashIfClientProvidedBogusAudioBufferList

cocoa 。创建 NSTextView,向其添加 NSString 并打印

ios - 无法管理 NSMutableArray 中的单个元素

ios - 让我的背景音乐播放器停止? objective-c

objective-c - Objective C 访问 NSBundle