Próbuję przenieść kod do Swift, który używa UIFont
i CTFont
, i że (pomyślnie, w Objective-C) używa prostych mostowanych rzutów, aby uzyskać od jednego do drugiego i wzajemnie.Jak przesłać obiekt UIFont do CTFont w Swift
Na przykład, należy rozważyć ten kod (w kategorii UIFontDescriptor):
UIFont *font = [UIFont fontWithDescriptor:self size:0.0];
NSArray *features = CFBridgingRelease(CTFontCopyFeatures((__bridge CTFontRef)font));
jeszcze nie był w stanie zorientować się, jak wyrazić to w Swift w sposób, który będzie faktycznie skompilować. Poniższy przynajmniej nie:
let font = UIFont(descriptor:self, size: 0.0)
let features = CTFontCopyFeatures(font as CTFont)
Błąd: 'UIFont' nie jest wymienialny na 'CTFont'
Cóż, nie wiem, czy to działa, ale możesz spróbować zainicjować 'UIFont'as' AnyObject', a następnie przesłać go do CTFont. Myślę, że przynajmniej rzutowanie powinno działać, ponieważ każda klasa dziedziczy z AnyObject. – borchero