2015-07-01 6 views
0

Он работал раньше. но дать ошибку в Xcode 7 Beta. Помогите мне пожалуйстаXcode 7 beta дает ошибку.

private func htmlStringWithFilePath(path: String) -> String? { 

     // Error optional for error handling 
     var error: NSError? 

     // Get HTML string from path 
     let htmlString = NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: &error) 

     // Check for error 
     if let error = error { 
      printLog("Lookup error: no HTML file found for path, \(path)") 
     } 

     return htmlString! as String 
    } 

теперь дает 2 ошибки.

  1. пусть HTMLString = NSString (contentsOfFile: путь, кодирование: NSUTF8StringEncoding, ошибка: & ошибка) ERROR не может найти инициализатор для типа NSString, который принимает список параметров типа (....)
  2. printLog ("Поиск ошибок: нет HTML-файл найден на пути (путь)") использование оШИБКА нерешенным идентификатора printlog

ответ

0

В Swift 2 появилась новая модель обработки ошибок с попыткой и уловкой (почти по всему фонду/какао). Вот рабочий пример:

private func htmlStringWithFilePath(path: String) -> String? { 

    // Get HTML string from path 
    // you can also use String but in both cases the initializer throws 
    // so you need the do-try-catch syntax 
    do { 
     // use "try" 
     let htmlString = try String(contentsOfFile: path, encoding: NSUTF8StringEncoding) 
     // or directly return 
     return htmlString 

    // Check for error 
    } catch { 
     // an "error" variable is automatically created for you 

     // in Swift 2 print is now used instead of println. 
     // If you don't want a new line after the print, call: print("something", appendNewLine: false) 
     print("Lookup error: no HTML file found for path, \(path)") 
     return nil 
    } 
} 
+0

спасибо .. :) он работает :) – davudi

Смежные вопросы