NSTextField 如何设置 NSAttributedString 的 TextStyle 属性

NSTextField How to Set NSAttributedString's TextStyle property

我正在尝试以编程方式创建具有 NSFont.TextStyle.headline 字体样式的 NSTextField。此字体也可以从故事板的 font 下拉菜单中设置。

但是,当我执行以下操作时:

let attributes: [NSAttributedString.Key : Any] = [NSAttributedString.Key.font : NSFont.TextStyle.headline]
let attributedString = NSAttributedString(string: product.url, attributes: attributes)
let textLabel = NSTextField(labelWithAttributedString: attributedString)

我的应用因以下错误而崩溃:

-[__NSCFConstantString pointSize]: unrecognized selector sent to instance 0x7fff8064f918

我们需要获取与文字样式关联的对应字体。

Pass these constants to preferredFont(forTextStyle:options:) or preferredFontDescriptor(forTextStyle:options:) to retrieve the corresponding font or font descriptor.

因此:

let attributes: [NSAttributedString.Key : Any] = [NSAttributedString.Key.font : NSFont.preferredFont(forTextStyle: NSFont.TextStyle.headline, options: [:])]