我是Cocoa的新手,如果这没有意义,请道歉。
我正在使用NSBrowser
从Web服务获取某些数据的Finder样式列视图。
<{1}}结果以异步方式返回。
我的问题是浏览器在应用启动时正确调用其委托来填充列,但是一旦我获得了数据,我就无法重新加载。
我已尝试NSURLConnection
,reloadDataForRowIndexes
,noteHeightOfRowsWithIndexesChanged
,addColumn
和reloadColumn
,但没有一个触发浏览器调用{{1}正如我所期望的那样在委托上(并在启动时看到)。
我知道浏览器委托是可以的,因为我可以看到它在启动时被调用。
是否有其他方式要求浏览器刷新,或者我是否需要尝试其他方法?
计划B将在另一个线程上关闭urlConnection,并阻止浏览器。我并不热衷于阻止UI线程,因为我担心这会导致一个沙滩球。
计划C可能会延迟浏览器从nib文件加载,直到数据准备就绪,但我的下一个节点会遇到类似的问题,除非我在预期的时候提前填充所有节点。
答案 0 :(得分:5)
[browser reloadColumn:0]
对我不起作用,[browser loadColumnZero]
。
答案 1 :(得分:4)
[browser reloadColumn:0]
是正确的方法。这只是工作,不需要解决方法。如果这对您不起作用,则您的错误在其他地方。