我有几个本地保存的.txt文件,它们被加载并保存为URL数组,如:

func loadShortStories() {
    shortStories = Bundle.main.urls(forResourcesWithExtension: "txt", subdirectory: nil)!
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destinationViewController = segue.destination as? ListVC {
        destinationViewController.shortStories = shortStories
    }
}

然后在下一个ListVC中将它们加载到tableview中,我得到:
var shortStories: [URL] = []

我需要硬编码.txt文件的特定顺序,但需要先将它们转换为字符串。我该怎么做?
我试过了
let shortStoriesString = shortStories.absoluteString but it does not work.

补充:
我确实使用以下方法删除了cellForRowAt方法中的pathextension和lastcomponent:
shortStories[indexPath.row].deletingPathExtension().lastPathComponent

但在此之前,我想硬编码.txt文件加载到textview中的顺序,因为它是随机的,我希望它们以特定的非算法方式列出,例如:
let order : [String] = [ "story7.txt", "story3.txt", "story1.txt", "story4.txt" ]

. 这就是我试图将URL转换为字符串的原因。

最佳答案

你可以试试

let shortStoriesString = shortStories.map {$0.lastPathComponent}

因为shortStories是一个数组而不是单个对象

10-04 11:01