强制NSBrowser重新加载

时间:2011-04-13 15:51:04

标签: cocoa macos

我是Cocoa的新手,如果这没有意义,请道歉。

我正在使用NSBrowser从Web服务获取某些数据的Finder样式列视图。 <{1}}结果以异步方式返回。

我的问题是浏览器在应用启动时正确调用其委托来填充列,但是一旦我获得了数据,我就无法重新加载。

我已尝试NSURLConnectionreloadDataForRowIndexesnoteHeightOfRowsWithIndexesChangedaddColumnreloadColumn,但没有一个触发浏览器调用{{1}正如我所期望的那样在委托上(并在启动时看到)。

我知道浏览器委托是可以的,因为我可以看到它在启动时被调用。

是否有其他方式要求浏览器刷新,或者我是否需要尝试其他方法?

计划B将在另一个线程上关闭urlConnection,并阻止浏览器。我并不热衷于阻止UI线程,因为我担心这会导致一个沙滩球。

计划C可能会延迟浏览器从nib文件加载,直到数据准备就绪,但我的下一个节点会遇到类似的问题,除非我在预期的时候提前填充所有节点。

2 个答案:

答案 0 :(得分:5)

[browser reloadColumn:0]对我不起作用,[browser loadColumnZero]

答案 1 :(得分:4)

[browser reloadColumn:0]是正确的方法。这只是工作,不需要解决方法。如果这对您不起作用,则您的错误在其他地方。