objective-c - Cocoa - 从 XML 加载数据期间应用程序卡住

标签 objective-c cocoa nsprogressindicator

我正在从 XML 文件加载大量数据。该数据正在“卡住”应用程序。我想在加载数据时显示进度条。

我如何知道大部分操作已完成,以便我可以更改进度条显示的百分比?谢谢。 [已回复]

已编辑:主要问题是由于需要解析大量数据,应用程序在加载过程中卡住。有些人建议使用后台线程来加载和解析数据。这可行吗?

最佳答案

一次将文件读入内存 @ 4k?显示加载字节数与文件大小的过程?

另外计算出总行数以及解析器当前所在的行。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html#//apple_ref/occ/instm/NSXMLParser/lineNumber

假设您正在使用 NSXMLParser

“卡住”来自于您在主线程上进行加载/解析。如果您可以使用GCD尝试执行dispatch_async()并在完成时向主线程发送更新并更新进度。

关于objective-c - Cocoa - 从 XML 加载数据期间应用程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604278/

相关文章:

macos - 如何在 Catalina 的自动外观模式下检测 OSX 处于深色模式还是浅色模式

swift - 重写 NSTreeController 的排列对象

swift - swift 中 forEach 循环的进度条

objective-c - NSTableCellView 中的 NSProgressIndicator

ios - iOS:不推荐使用的元素会继续在旧版应用程序中工作吗?

ios - .pch 文件中的#define 不起作用

iphone - 游戏中心好友列表

macos - 从命令行锁定屏幕与 OS X 上的钥匙串(keychain)访问相同

Swift:如何使用 NSProgressIndicator?

objective-c - PlayAtTime问题播放多个音频文件