Swift 将NSCalendar符号与数值常量关联

Swift 将NSCalendar符号与数值常量关联,swift,cocoa,nscalendar,nsdatecomponents,Swift,Cocoa,Nscalendar,Nsdatecomponents,NSCalendar具有日历符号的属性,如月份、纪元等: 在NSDateComponents中,将它们从数值常量映射到数值常量的正确方法是什么?我真的希望有更好的方法,因为这看起来很冗长,但本质上这只是在NSCalendar中访问monthSymbols let monthNumeric = 1 // January let monthName = "January" print(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]

NSCalendar
具有日历符号的属性,如月份、纪元等:


NSDateComponents
中,将它们从数值常量映射到数值常量的正确方法是什么?

我真的希望有更好的方法,因为这看起来很冗长,但本质上这只是在NSCalendar中访问
monthSymbols

let monthNumeric = 1 // January let monthName = "January" print(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]) print(NSCalendar.currentCalendar().monthSymbols.indexOf(monthName)! + 1) 让monthNumeric=1//1月 让monthName=“一月” 打印(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]) 打印(NSCalendar.currentCalendar().monthSymbols.indexOf(monthName)!+1) 这同样适用于erasymbol。
还要注意的是,Swift基金会正在发展中&其来源是。由于API应该与达尔文基金会基本匹配,这是一个很好的资源,可以在下面的封面中找到。

同样不适用于时代符号。ERA的数值常量不同于月份的数值常量,至少在
nscalendardIdentifierISO8601
日历中是从零开始的,大概也是针对
nscalendardIdentifierGregorian
的。对不起,我的评论是针对这样一个事实,即ERASYMBOL和MonthSYMBOL一样,本质上只是一个字符串数组。当然,内容是不同的。它们是我在问题中已经说过的字符串数组,并且内容是不同的,这是意料之中的。您似乎认为数组中字符串常量的索引与数值常量之间存在直接关系。但符号之间的关系并不相同。有时我必须添加
1
,有时我不添加。我正在寻找一种适用于所有日历中所有符号的解决方案,我不想编写一个详尽的映射函数。一个日期和时间API应该可以让我省去这些麻烦。 let monthNumeric = 1 // January let monthName = "January" print(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]) print(NSCalendar.currentCalendar().monthSymbols.indexOf(monthName)! + 1)