0

我有一个带有辅助线程的 iPhone 应用程序来处理 XML 解析。在其中一些方法中,我需要引用在主线程中创建和填充的字典(用于查找,而不是修改)。

Apple 的文档向我表明,全局变量可能是实现这一目标的最佳方式。我现在才确定实现会是什么样子。在 .m 的顶部定义字典并在辅助线程中正常访问它们?

4

1 回答 1

1

NSDictionary 是线程安全的,因此它可能不是线程问题,除非您的初始化程序将全局分配为 NSMutableDictionary(不是线程安全的),然后辅助线程在它仍然被填充时尝试访问它。

(如果是这种情况,您的初始化程序应该首先将 NSMutableDictionary 分配到一个局部变量中,填充它,然后使用 NSDictionary+dictionaryWithDictionary:或将完成的局部复制到全局-initWithDictionary:。)

或者,可能是您在初始化时没有保留全局?

于 2010-03-08T20:10:20.843 回答