Search code examples
swiftswift3nsattributedstring

Setting NSUnderlineStyle causes unrecogognized selector exception


I am trying to underline a string with NSAttributed string. For some reason, my lines cause the exception:

-[_SwiftValue _getValue:forType:]: unrecognized selector sent to instance   

The result is supposed to be used for a UILabel within a UITableView and is created as needed.

This is the code:

attributedString = NSMutableAttributedString(string: message)

if let actor = event.actor {
   let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle]
   var attributedActorString = NSMutableAttributedString(string: actor.shirtName, attributes: attributes)
   attributedActorString.insert(NSAttributedString(string: " "), at: 0)
   attributedActorString.append(NSAttributedString(string: ". "))                               attributedActorString.append(attributedImageStringForUrl(event.actor!.portraitImageUrl, indexPath: indexPath))
   attributedString.append(attributedActorString)
}

Solution

  • Change line:

    let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle]
    

    to:

    let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle.rawValue]