CTFontRef font = CTFontCreateWithName((__bridge CFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize, NULL);
NSRange rangeHighlight = NSMakeRange(range.location, substringToHighlight.length);
if (font) {
[mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(__bridge id)font range:rangeHighlight];
CFRelease(font); //Is this still necessary?
}
このコードをhttps://github.com/mattt/TTTAttributedLabelからコピーして貼り付けます
CTFontRef font = CTFontCreateWithName((CFStringRef)boldSystemFont.fontName, boldSystemFont.pointSize, NULL);
if (font) {
[mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(id)font range:boldRange];
[mutableAttributedString addAttribute:@"TTTStrikeOutAttribute" value:[NSNumber numberWithBool:YES] range:strikeRange];
CFRelease(font);
}
そうすると、キーワード__bridgeを使用する必要があるというエラーが発生しました。それは何ですか?入れてコンパイルエラーストップ。しかし、それでもCFRelease(font)を使用する必要があるのだろうか
加えて
- CFReleaseのCFとは何ですか?
- __bridgeとは何ですか?
- __bridgeを使用した後にCFRelease(font)を実行する必要がありますか?
- これについてどこでもっと知ることができますか?