2011-12-20 66 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:]。你不应该等待线程完成 - 这将会破坏使用线程的目的。

不管怎样,你不应该从细胞中完成所有这些。你应该从表格视图的数据源中完成它。在获得目录列表后立即启动线程(或者更好的操作),并在结果进入时更新单元格。