2015-07-18 86 views
0

我正在尝试创建属性字典以传入NSString.drawInRect。然而,斯威夫特不会让我,在神秘的错误信息'_' 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] 

下面的代码会导致什么需要怎样做呢?

回答

4

(这个答案没有什么新增加马特的答案,所以如果你给予好评,请记住要给予好评他也一样)

font是可选的,你可以用font!解开它,就像这样:

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

马特拒绝在他的回答中举一个例子,所以这将是公认的答案,因为它符合SO标准的正确答案。谢谢。 –

1

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

+0

如果您不同意我编辑的例子,请提供一个替代方案。 –