Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Swift-3 error: '-[_SwiftValue unsignedIntegerValue]: unrecognized selector

Following code was perfectly worked with old swift. This is an extension of String

func stringByConvertingHTML() -> String {     let newString = replacingOccurrences(of: "\n", with: "<br>")     if let encodedData = newString.data(using: String.Encoding.utf8) {         let attributedOptions : [String: AnyObject] = [             NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType as AnyObject,             NSCharacterEncodingDocumentAttribute: String.Encoding.utf8 as AnyObject         ]         do {             let attributedString = try NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil) //Crash here             return attributedString.string         } catch {             return self         }     }     return self } 

But in swift 3 it crashes saying

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_SwiftValue unsignedIntegerValue]: unrecognized selector sent to instance 0x6080002565f0'

Anyone please suggest me what need to do?

like image 866
Tapas Pal Avatar asked Sep 22 '16 15:09

Tapas Pal


1 Answers

I ran into the same problem:

let attributedOptions : [String: AnyObject] = [             NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType as AnyObject,             NSCharacterEncodingDocumentAttribute: String.Encoding.utf8 as AnyObject         ] 

Here the String.Encoding.utf8 the type check fails. Use NSNumber(value: String.Encoding.utf8.rawValue)

like image 63
Sachin Vas Avatar answered Oct 05 '22 04:10

Sachin Vas