NSLocale currentLocale和autoupdatingCurrentLocale有什么区别?

12
NSLocale的currentLocale和autoupdatingCurrentLocale有什么区别?从文档上看并不明显。
2个回答

5

当用户更改系统区域设置时,自动更新的内容会自动更新到新的语言环境。


2
当前语言环境(currentLocale)只从当前用户的设置中检索一次语言环境对象。自动更新语言环境(autoupdatingCurrentLocale)会动态更新语言环境对象,因此您不需要验证。您可能认为自动更新语言环境是首选方式,这是根据苹果文档的推荐; 但是,由于返回的对象可能被缓存,因此在使用currentLocale和autoupdatingCurrentLocale时,您并不真正需要无限期地保留它。如果您正在使用autoupdatingCurrentLocale,请注意,此API不缓存语言环境对象,因此您将需要一种方法来在接收到后计算缓存。一种方法是使用通知,如NSCurrentLocaleDidChangeNotification方法调用。

1
那是否意味着自动更新会消耗更多的电池电量? - Boon
我认为它的消耗只相当于观察通知。 - Blazej SLEBODA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接