【问题标题】:CFDataRef to NSDataCFDataRef 到 NSData
【发布时间】:2012-03-05 22:05:15
【问题描述】:

我在使用 ARC 时无法将 CFDataRef 转换为 NSData。我正在使用 __bridge_transfer__bridge 演员,但它不起作用。谁能建议我用其他方法来铸造这两种类型。 我收到以下错误

Automatic Reference Counting Issue: Incompatible types casting 'CFDataRef *' (aka 'const struct __CFData **') to 'NSData *' with a __bridge cast

【问题讨论】:

    标签: iphone automatic-ref-counting


    【解决方案1】:
    NSData *my_nsdata = (__bridge_transfer NSData*)my_cfdata; // -1 on the my_cfdata
    

    NSData *my_nsdata = (__bridge NSData*)my_cfdata; // no adjustment of retain counts.
    

    来自我的博文:

    http://amattn.com/2011/12/07/arc_best_practices.html

    【讨论】:

    • 我不知道为什么,但我仍然收到此错误。自动引用计数问题:不兼容的类型将 'CFDataRef *' (aka 'const struct __CFData **') 转换为 'NSData *' 与 __bridge cast
    • ahhh ,我终于得到了答案。我得到的错误很清楚,我正在使用 CFDataRef* 代替 CFDataRef.Changed,现在它正在工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2011-08-11
    • 2011-08-21
    相关资源
    最近更新 更多