UIWebView LoadData es no aceptar Nil valores para textEncodingName y baseURL

Hasta Swift de la versión 1.2, UIWebView LoadData fue la aceptación de nil valores, pero Swift 2.0 es tirar el error «Swift no se ajustan al protocolo NilLateralConvertible».

Swift 1.2: Funciona bien

self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)

Swift 2.0: Tira error

self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: nil, baseURL: nil)
  • Cualquier conduce? Obtener advertencias cuando el uso de Swift 3+ con «NSURL() como URL»
InformationsquelleAutor Coder | 2015-08-18

4 Kommentare

  1. 13

    Esto funciona para mí:

    webView.loadData(pdfDownload, MIMEType: "application/pdf", textEncodingName: "", baseURL: NSURL())
    • Advertencia: No hay más que aceptable con Swift 3.
  2. 3

    Swift 3:

    self.webView.loadData(tempData!, MIMEType: "application/pdf", textEncodingName: "UTF-8", baseURL: NSURL() as URL)
    • Esto no compila, pero se estrellará en tiempo de ejecución.
  3. 2

    La codificación de caracteres por defecto es UTF-8 por lo que puede hacer de esta manera:

    auto.webView.loadData(tempData!, MIMEType: «application/pdf»,
    textEncodingName: «UTF-8», baseURL: NSURL())

  4. 1

    Apple ha actualizado las declaraciones y que ahora exigen la no-nil valores. Ellos tienen la adición de la realidad de las declaraciones para el beneficio de Swift (y ObjC).

    - (void)loadData:(NSData   * nonnull)data
            MIMEType:(NSString * nonnull)MIMEType
    textEncodingName:(NSString * nonnull)encodingName
             baseURL:(NSURL    * nonnull)baseURL
    • Así que, ¿qué se supone que vamos a ofrecer para baseURL cuando no nos importa?

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea