- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果链接没有跳转到页面的正确部分,请查找 localeIdentifierFromComponents(_:)
。
XCode 7.2 Playground
print(NSLocale.localeIdentifierFromComponents([
NSLocaleLanguageCode:"en",
NSLocaleCountryCode:"US",
NSLocaleCalendar: NSJapaneseCalendar
]))
//EXC_BAD_ACCESS
鉴于
print(NSLocale.localeIdentifierFromComponents([
NSLocaleLanguageCode:"en",
NSLocaleCountryCode:"US",
]))
//"en_US"
如果我用逆运算
print(NSLocale.componentsFromLocaleIdentifier("en_US@calendar=japanese"))
//["kCFLocaleCountryCodeKey": "US", "kCFLocaleLanguageCodeKey": "en", "calendar": "japanese"]
NSLocaleCalendar 映射到 kCFLocaleCalendarKey,而不是“日历”
那么我做错了什么还是文档错了?
最佳答案
我会说文档是错误的(您使用的是他们使用的确切示例),或者更可能是 Foundation(Xcode 7.2.1、Swift 2)中的一个实际错误,至少是 Swift 访问它- 这并不能确认 Objective-C 访问是否有效(尽管我猜它们是相同的)。
我建议提交 bug report .
这是我的 Playground 来确认你的错误。即使使用公历,它也在爆炸式增长。
//: Playground - noun: a place where people can play
import Foundation
let ident = NSLocale.localeIdentifierFromComponents([
NSLocaleLanguageCode:"en",
NSLocaleCountryCode:"US",
])
NSGregorianCalendar
NSJapaneseCalendar
NSLocale.componentsFromLocaleIdentifier("en_US")
NSLocale.componentsFromLocaleIdentifier("en_US@calendar=japanese")
let ident2 = NSLocale.localeIdentifierFromComponents([
NSLocaleLanguageCode:"en",
NSLocaleCountryCode:"US",
NSLocaleCalendar:NSGregorianCalendar // causing EXC_BAD_ACCESS
])
关于ios - NSLocale NSLocaleCalendar 导致 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587839/
我正在使用以下文档 - https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes
我是一名优秀的程序员,十分优秀!