self.textView.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.blackColor(),
NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle]
这给出了编译器错误
Type '[NSObject : AnyObject]!' does not conform to protocol 'DictionaryLiteralConvertible'
。我刚刚启动Swift,无法弄清楚出了什么问题。 最佳答案
问题是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]