ff10
ff10

Reputation: 3147

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)
}

Upvotes: 25

Views: 3177

Answers (2)

Kamran
Kamran

Reputation: 15258

Swift 5 version of Vlad Khambir answer,

let attributes = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue]

Upvotes: 4

Vlad Khambir
Vlad Khambir

Reputation: 4383

Change line:

let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle]

to:

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

Upvotes: 57

Related Questions