在Swift中将path扩展转换为小写

我试图在swift中将path扩展转换为小写。 这应该是相当容易的,但是当我使用明显的代码,我不断收到错误:

var filePath = "/path/to/file.CSV" var fileExtension = filePath.pathExtension fileExtension.lowercaseString //ERROR happens when I try to convert to lowercase 

错误如下:

执行失败:错误:执行被中断,原因:EXC_BAD_ACCESS(code = 1,address = 0x0)。 该进程已经被中断的地方,使用“线程返回-x”返回expression式评估之前的状态。 *线程#1:tid = 0x231209,0x00000001083083a6,队列='com.apple.main-thread',停止原因= EXC_BAD_ACCESS(代码= 1,地址= 0x0)*帧#0:0x00000001083083a6

当我将任何其他string转换为小写字母时,这是完全正常的。

我的解决方法是只是在获取扩展名之前将filePath转换为小写,但我只想知道是否有其他人有这个问题?

这对我来说也是一个bug,一个解决方法就是将String转换为NSString如下所示:

 var filePath = "/path/to/file.CSV" var fileExtension = filePath.pathExtension (fileExtension as NSString).lowercaseString 

你也可以这样做:

 var filePath = "/path/to/file.CSV" ((filePath as NSString).pathExtension).lowercaseString