如何仅打印捆绑包中的部分文本文件



如何打印仅根据单击的按钮从文本文件中选择行。

因此,如果单击按钮 1,我的文本文件中的第 4 行文本将打印到 UILabel。

现在它打印整个文件。

@IBOutlet weak var AboutLabel: UILabel!
@IBAction func GetAboutInfo(_ sender: UIButton) {
    if let path = Bundle.main.path(forResource: "Meditations", ofType: "txt") {
        if let text = try? String(contentsOfFile: path,
                                  encoding: String.Encoding.utf8) {
            AboutLabel.text = text
        }
    }
}

希望它仅根据在上一个屏幕上单击的按钮打印我提交的文本行。

您可以根据需要拆分文本,在这里我假设这些行通过换行符分隔

另外,最好在方法外部加载一次字符串

正如@rmaddy所建议的那样,更好的选择是.plist

let meditationsPath = Bundle.main.path(forResource: "Meditations", ofType: "txt")!
let meditationText = try String(contentsOfFile: meditationsPath,
            encoding: String.Encoding.utf8)
let meditationTextArray = meditationText.split(separator: "n")

您的getAboutInfo将成为

// Name your methods and variables with camel case
@IBAction func getAboutInfo(_ sender: UIButton) {
     // Assign the button tag for index
     let index = sender.tag
     if index < meditationTextArray.count {
       let text = meditationTextArray[index]              
       self.aboutLabel.text = text
     }
}

最新更新