我想更改 Xcode Playground 上的语言环境以测试本地化。
我找到了这个解决方案,但它在 Xcode 6.3.2 Playground 上不起作用: http://natashatherobot.com/locale-playground-swift/
最佳答案
哦,我找到了解决办法!
extension NSLocale {
class func mono_currentLocale() -> NSLocale {
return NSLocale(localeIdentifier: "fr")
}
}
let original = class_getClassMethod(NSLocale.self, #selector(getter: NSLocale.currentLocale))
let swizzled = class_getClassMethod(NSLocale.self, #selector(NSLocale.mono_currentLocale))
method_exchangeImplementations(original, swizzled)
编辑:Swift 4.1 版本:
extension NSLocale {
@objc class func mono_currentLocale() -> NSLocale {
return NSLocale(localeIdentifier: "fr")
}
}
let original = class_getClassMethod(NSLocale.self, #selector(getter: NSLocale.current))!
let swizzled = class_getClassMethod(NSLocale.self, #selector(NSLocale.mono_currentLocale))!
method_exchangeImplementations(original, swizzled)
关于ios - 如何更改 Xcode Playground 上的语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31065859/