プロジェクトの 1 つを ARC に変換していますが、次の行でエラーが発生します。
_font = CTFontCreateWithName((CFStringRef)_fontName, fontSize, NULL);
ここで、_fontName は NSString です。エラーは次のとおりです。
Objective-C ポインター型 'NSString *' から C ポインター型 'CFStringRef' (別名 'const struct __CFString *') へのキャストには、ブリッジ キャストが必要です。
xCode から修正する方法について 2 つのオプションがあります。
__bridge を使用して直接変換する (所有権の変更なし)
また
CFBridgingRetain 呼び出しを使用して、ARC オブジェクトを +1 'CFStringRef' (別名 'const struct __CFString *') として使用できるようにします。
どちらがより良い選択肢でしょうか? CoreText メソッドがそれを保持すると推測しているため、最初の選択肢を考えています。しかし、繰り返しになりますが、ARCで何かを割引していないことを確認したいだけです.