我有几个本地保存的.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
是一个数组而不是单个对象