转换工程到ARC ,结果这行代码报错:_font = CTFontCreateWithName((CFStringRef)_fontName, fontSize, NULL);
其中 _fontName是NSString,错误信息是:Cast of Objective-C pointer type 'NSString *' to C pointer type 'CFStringRef' (aka 'const struct __CFString *') requires a bridged cast
我找到了两种解决方法:
第一种:Use __bridge to convert directly (no change in ownership)
第二种:Use CFBridgingRetain call to make an ARC object available as a +1 'CFStringRef' (aka 'const struct __CFString *')
不知道那种比较好?
没必要修改_fontName的所属关系,用这个就行_font = CTFontCreateWithName((__bridge CFStringRef)_fontName, fontSize, NULL);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。