Бета-версия Xcode 7.1: ошибка содержимого файла

Я только что закончил последние штрихи к своему быстрому приложению. Но после обновления до бета-версии 7 я получаю ошибки для строки 'ContentOfFile'. Может кто-нибудь помочь мне понять, как я могу исправить это, пожалуйста?

вот что у меня есть банкомат.

//Reads the Text File
    if var path = NSBundle.mainBundle().pathForResource("Chapters", ofType: "txt"){

        //Reads the Text File into one Huge String
        var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil)

            //sets String content of the Text File as an Array. With each string start at \n (new line)
            if var content = (data){

                //from the mass string of data from the text file, Each chapter content is seperated by #
                var Chapters: [String] = content.componentsSeparatedByString("@")

                //without removing index in the beginning there will be an extra element printed in the array.
                Chapters.removeAtIndex(0)

Сообщение об ошибке: Невозможно вызвать инициализатор для типа 'String' со списком аргументов типа '(contentsOfFile: String, кодировка: UInt, ошибка: NilLiteralConvertible)'

1 ответ

Решение

Вам нужно реализовать do try catch для обработки ошибок. Попробуйте вот так:

редактировать / обновление:

Swift 3 или позже

if let fileURL = Bundle.main.url(forResource: "Chapters", withExtension: "txt") {
    do {
        let string = try String(contentsOf: fileURL, encoding: .utf8)
        var chapters = string.components(separatedBy: "@")
        chapters.removeFirst()
    } catch {
        print(error)
    }
}
Другие вопросы по тегам