任何人都可以确认UIFont
(Cocoa-Touch / iOS)是否是线程安全的?也就是说,在主线程之外的线程中使用是否安全但是线程之间不共享实例?
问题是我正在这样做而且我在[NSString sizeWithFont:]
中遇到随机崩溃并开始认为我不应该在主运行循环之外使用UIFont
?
此外Apple's documentation on UIFont
让我怀疑是否可以从其他线程使用它。
您不使用alloc和init方法创建UIFont对象。相反,您使用UIFont的类方法来查找和检索所需的字体对象。
上面的模糊声音如UIFont
有一个实例缓存存储在某处,因此从主线程外部使用UIFont
对象可能不是一个好主意,因为实例可能会无意中被多个使用线程可能会导致问题。哎呀,UIFont
的实例缓存甚至可能是线程争用的来源。
有人可以对此进行一些解释(有可归因的链接/证据)吗?
由于
答案 0 :(得分:2)
但是如果你想在单独的线程中创建UIFont实例,你可以自由地做到这一点。 Apple文档说UIFont只为您提供静态方法。