如何在Swift中将UIFont对象强制转换为CTFont

Chr*_*enz 10 uikit core-text swift

我正在尝试将一些代码移植到使用UIFont和的Swift CTFont,并且(成功地,在Objective-C中)使用简单的桥接转换来从一个转换到另一个,反之亦然.

例如,考虑此代码(在UIFontDescriptor类别中):

UIFont *font = [UIFont fontWithDescriptor:self size:0.0];
NSArray *features = CFBridgingRelease(CTFontCopyFeatures((__bridge CTFontRef)font));
Run Code Online (Sandbox Code Playgroud)

我还没有弄清楚如何以一种实际编译的方式在Swift中表达这一点.以下至少不会:

let font = UIFont(descriptor:self, size: 0.0)
let features = CTFontCopyFeatures(font as CTFont)
Run Code Online (Sandbox Code Playgroud)

错误:'UIFont'无法转换为'CTFont'

Chr*_*enz 2

这显然已在 Swift 和/或CoreText. 至少现在在我使用 Xcode 7.0.1 的测试中它可以工作。