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]

10-08 15:40