2011-12-20 36 views
-1

我正在計算特定路徑上的文件總數,並在custom cell中顯示該結果。 我正在使用NSThread計算- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView(包內)方法中的文件數。當我正在計算文件數時,它顯示空單元格。我認爲它在NSThread之前致電[super drawWithFrame:newFrame inView:controlView];返回結果。
任何人都可以請幫助我?謝謝:)NSTask in NSBundle

回答

1

爲此使用線程的原因是不阻塞主線程上的UI。這樣做的原因在於線程啓動,並且線程創建方法立即返回,因此主線程可以與其他業務一起進行。

所以是的,你會在線程結束前得到[super drawWithFrame:inView:]。你不應該等待線程完成 - 這將會破壞使用線程的目的。

不管怎樣,你不應該從細胞中完成所有這些。你應該從表格視圖的數據源中完成它。在獲得目錄列表後立即啓動線程(或者更好的操作),並在結果進入時更新單元格。