• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - UIFont 线程安全吗?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 22:15:40 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

任何人都可以确认 UIFont(Cocoa-Touch/iOS 的)是否是线程安全的?也就是说,在主线程之外的线程中使用它是否安全,但实例不在线程之间共享?

问题是我正在这样做,并且我在 [NSString sizeWithFont:] 中遇到随机崩溃,并开始认为也许我不应该使用 UIFont 从主运行循环之外?

此外Apple's documentation on UIFont让我怀疑它是否可以从其他线程中使用。

You do not create UIFont objects using the alloc and init methods. Instead, you use class methods of UIFont to look up and retrieve the desired font object.

上面的简介听起来像 UIFont 有一个实例缓存存储在某处,因此从主线程外部使用 UIFont 对象可能不是一个好主意,因为实例可能会无意中被多个线程使用并可能导致问题。见鬼,UIFontinstance cache 甚至可能是线程争用的来源。

任何人都可以对此有所了解(通过可归因的链接/证据)吗?

谢谢



Best Answer-推荐答案


rokjarc 是对的。如果你想改变 UI 元素的字体,例如 UILabel 对象的 font 属性,你应该在 主线程 中进行。 p>

但是如果你想在单独的线程中创建 UIFont 实例,你可以自由地去做。 Apple 文档说 UIFont 只为您提供静态方法。

关于ios - UIFont 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817240/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap