self.textView.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor(),
NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle]
这会给编译器错误提示Type '[NSObject : AnyObject]!' does not conform to protocol 'DictionaryLiteralConvertible'
。我刚开始使用Swift并且无法弄清楚出了什么问题。
答案 0 :(得分:13)
问题是NSUnderlineStyle.StyleSingle
是一个Swift枚举值,它不符合AnyObject
协议。要解决此问题,请致电toRaw()
将其转换为Int
:
self.textView.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor(),
NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.toRaw()]
更新(适用于Xcode 6.1):
函数toRaw()
已替换为Xcode 6.1中的属性rawValue
。
self.textView.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor(),
NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue]