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

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


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)


In Swift3 no cast to AnyObject is needed anymore and also no NSNumber.

let attrs: [String: Any] = [            NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType,            NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue        ]


This post saved my day. After migrating to Swift 3, the little change String.Encoding.utf8 to String.Encoding.utf8.rawValue fixed the trap reported here.

Orignal line:

...    options: [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,              NSCharacterEncodingDocumentAttribute: String.Encoding.utf8],...

changed to

options: [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,          NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue],

add the .rawValue to the end...