Reputation: 3147
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
Reputation: 15258
Swift 5 version of Vlad Khambir answer,
let attributes = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue]
Upvotes: 4
Reputation: 4383
Change line:
let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle]
to:
let attributes = [NSUnderlineStyleAttributeName:NSUnderlineStyle.styleSingle.rawValue]
Upvotes: 57