我正在尝试将路径扩展名转换为swift中的小写。这应该相当容易,但是当我使用明显的代码时,我不断收到错误:
var filePath = "/path/to/file.CSV"
var fileExtension = filePath.pathExtension
fileExtension.lowercaseString //ERROR happens when I try to convert to lowercase
错误如下:
执行失败:错误:执行被中断,原因: EXC_BAD_ACCESS(代码= 1,地址= 0x0)。 该进程一直处于被中断的位置,使用“thread return -x”返回表达式之前的状态 评价。 * thread#1:tid = 0x231209,0x00000001083083a6,queue ='com.apple.main-thread',stop reason = EXC_BAD_ACCESS(code = 1, 地址=为0x0) *帧#0:0x00000001083083a6
当我将任何其他字符串转换为小写时,它完全没问题。
我的解决方法是在获取扩展程序之前将filePath转换为小写,但我只是想知道是否有其他人遇到此问题?
答案 0 :(得分:7)
这对我来说也是一个错误,一个解决方法是将字符串转换为NSString
,如:
var filePath = "/path/to/file.CSV"
var fileExtension = filePath.pathExtension
(fileExtension as NSString).lowercaseString
答案 1 :(得分:-1)
你也可以这样做:
var filePath = "/path/to/file.CSV"
((filePath as NSString).pathExtension).lowercaseString