' _'不能转换为' String'

时间:2015-07-18 23:39:29

标签: macos swift cocoa swift2

我正在尝试创建要传递到NSString.drawInRect的属性字典。但是,Swift不会让我,因为以下代码会导致神秘的错误消息'_' is not convertible to 'String'

let font = NSFontManager.sharedFontManager().fontWithFamily(...)
let color = NSColor.whiteColor() 
let paragraphStyle = NSParagraphStyle.defaultParagraphStyle()
let attributes = [
    NSParagraphStyleAttributeName: paragraphStyle,
    NSFontAttributeName: font,
    NSForegroundColorAttributeName: color]

需要采取哪些不同的做法?

2 个答案:

答案 0 :(得分:4)

(这个答案对于亚特的回答没有什么新的东西,所以如果你赞成这个,记得也要投票给他了)

font是可选的,您可以使用font!打开它,如下所示:

let font = NSFontManager.sharedFontManager().fontWithFamily(...)
let color = NSColor.whiteColor() 
let paragraphStyle = NSParagraphStyle.defaultParagraphStyle()
let attributes = [
    NSParagraphStyleAttributeName: paragraphStyle,
    NSFontAttributeName: font!,
    NSForegroundColorAttributeName: color]

答案 1 :(得分:1)

font是可选的。打开它以获得包裹在其中的字体。