与数字常量

问题描述:

NSCalendar有像个月时代等:与数字常量

var monthSymbols: [String] { get } 
var eraSymbols: [String] { get } 
… 

什么是往返于数字常量映射它们的正确方法历法符号性质相关NSCalendar符号,我需要在NSDateComponents

我真的希望实际上有更好的方法,因为这看起来很罗嗦,但本质上这只是获得访问NSCalendar中的monthSymbols

 
let monthNumeric = 1 // January 
let monthName = "January" 

print(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]) 
print(NSCalendar.currentCalendar().monthSymbols.indexOf(monthName)! + 1) 

应同样适用于eraSymbols 请注意,斯威夫特基金会正在发展&来源是public。由于API应该与达尔文基金会大致匹配,因此它是查看封底的好资源。

+0

同样的**不适用于时代符号。时代的数字常量与月份不同,从零开始,至少在'NSCalendarIdentifierISO8601'日历中,大概是'NSCalendarIdentifierGregorian'。 – mistercake

+0

对不起,我的评论是针对_eraSymbols_,就像_monthSymbols_基本上只是一个_Strings_ _Array_的事实。内容当然会有所不同。 – timbo

+0

他们是我已经在我的问题中说过的字符串数组,并且内容不同是可以预料的。您似乎认为数组中的字符串常量索引与数字常量之间存在直接关系。但是这种关系在符号上并不相同。有时候我必须添加'1',有时候我不会。我正在寻找适用于所有**日历中的** all **符号的解决方案,并且我不想写一个详尽的映射函数。一个日期和时间的API应该可以让我省下这些努力。 – mistercake