iOS - Swift NSLocale 本地化信息

本文深入探讨了Swift中NSLocale类的使用,包括如何创建、设置和获取本地化信息,以及如何显示特定地区代号下的键名。通过实例解析,帮助开发者更好地理解和应用iOS的本地化功能。

前言

    public class NSLocale : NSObject, NSCopying, NSSecureCoding
  • NSLocale 类返回本地化信息,主要体现在"语言"和"区域格式"这两个设置项。

1、NSLocale 本地化信息的创建

    // 用标示符创建
    let locale1:NSLocale = NSLocale(localeIdentifier: "zh_CN")
        
    let strSymbol:AnyObject? = locale1.objectForKey(NSLocaleCurrencySymbol)
        
    // 返回系统初始本地化信息
    let locale2:NSLocale = NSLocale.systemLocale()
        
    let calendarIdentifier = locale2.objectForKey(NSLocaleCalendar)?.calendarIdentifier
        
    // 一直保持在 cache 中,第一次用此方法实例化对象后,即使修改了本地化设定,也不会改变
    let locale3:NSLocale = NSLocale.currentLocale()
        
    // 每次修改本地化设定,其实例化的对象也会随之改变
    let locale4:NSLocale = NSLocale.autoupdatingCurrentLocale()

2、NSLocale 本地化信息的设置

    let calendar:NSCalendar = NSCalendar.currentCalendar()
        
    // 设置区域
    calendar.locale = NSLocale(localeIdentifier: "zh_CN")

3、NSLocale 本地化信息的获取

    let locale = NSLocale.currentLocale()
        
    // 根据不同的 key 返回各种本地化信息
    let strSymbol:AnyObject? = locale.objectForKey(NSLocaleCurrencySymbol)
        
    let calendar:AnyObject? = NSLocale.currentLocale().objectForKey(NSLocaleCalendar)

4、显示特定地区代号下相应键的显示名称

    let locale = NSLocale(localeIdentifier: "zh_CN")
        
    let str = locale.displayNameForKey(NSLocaleIdentifier, value: "en_US")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值