NSBundle 中的 NSTask

Posted

技术标签:

【中文标题】NSBundle 中的 NSTask【英文标题】:NSTask in NSBundle 【发布时间】:2011-12-20 06:07:43 【问题描述】:

我正在计算特定路径上的文件总数,并将结果显示为custom cell。 我正在使用 NSThread 来计算 - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView(inside the bundle) 方法中的文件数。当我计算文件数时,它显示为空单元格。我认为它在NSThread 之前调用[super drawWithFrame:newFrame inView:controlView]; 返回结果。 谁能帮帮我??谢谢:)

【问题讨论】:

【参考方案1】:

为此使用线程的真正原因是不阻塞主线程上的 UI。起作用的原因是线程启动了,然后线程创建方法立即返回,这样主线程就可以继续其他业务了。

所以是的,您在线程完成之前到达[super drawWithFrame:inView:]。您不应该等待线程完成 - 这会破坏使用线程的目的。

无论如何,你不应该在牢房里做这一切。您应该从表视图的数据源中执行此操作。获得目录列表后立即启动线程(或者可能更好的操作),并在结果出现时更新单元格。

【讨论】:

以上是关于NSBundle 中的 NSTask的主要内容,如果未能解决你的问题,请参考以下文章

NSBundle 中的 NSTask

UIStoryboard() 中的 nil 和 NSBundle 有啥区别?

NSBundle 中的 CoreData sqlite 文件

Objective-C 中的 NSBundle 沙盒

从Objective C中的NSBundle获取图像路径?

是啥导致 [[NSBundle mainBundle] loadNibNamed 中的 BUS_ADRALN?