Как напечатать только части текстового файла в комплекте - PullRequest
0 голосов
/ 15 апреля 2019

Как печатать только выбранные строки из вашего текстового файла, в зависимости от того, какая кнопка нажата.

Таким образом, если нажата первая кнопка, строка 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
        }
    }
}

Хотелось бы, чтобы он печатал только строку текста, которую я отправляю, в зависимости от того, какая кнопка была нажата на предыдущем экране.

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете разделить текст в соответствии с вашими требованиями, здесь я предполагаю, что строки разделяются через разрыв строки \ n

Плюс было бы лучше загрузить вашу строку один развне метода

И, как предлагает @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
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...