当前位置:  开发笔记 > IOS > 正文

我应该保存NSLocalizedString()返回的字符串吗?

如何解决《我应该保存NSLocalizedString()返回的字符串吗?》经验,为你挑选了2个好方法。

我正在开发一款iPhone应用程序,我们在初始版本中使用英语和日语进行本地化.我们经常调用NSLocalizedString()加载适当的本地化字符串进行显示.通常情况下,将本地化字符串保存在实例变量中是为了下次我们需要它们,或者我是否在这里进行微优化,我是否应该在每次需要时重新加载字符串?



1> Peter Hosey..:

微型优化.首先使它工作,然后使其正确,然后快速.当你进入第3步,运行Shark(或乐器),然后按照它的指导.



2> Andrew Grant..:

这是"依赖"答案中的一个.

调用NSLocalizedString涉及在bundle中执行查找.这些查找非常快,但不是免费的.是否缓存此返回值或只是调用NSLocalizedString的便利取决于它的使用方式.

    如果您将返回传递给类似UILabel或UITableViewCell的文本字段,则只有在首次设置属性时才会进行查找.

    如果您在drawRect调用中使用它,那么只有当您的视图需要重新绘制时才会进行查找,而这种查看可能经常,不经常或从不.

    如果你在游戏界面中使用它,每一帧都重新绘制屏幕,​​那么对于一些UI元素,这些查找可能每秒发生数百次.

我会说,对于像#3这样的东西,你应该从缓存结果开始.

对于其他人,请以最方便的方式编写它们,如果您的UI中存在性能问题,请使用Instruments缩小原因.如果是NSLocalizedString则相应地优化它.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有