iOS 5需要电弧桥接铸造
我正在学习一个教程,我不知道如何转换这段代码,让它在启用ARC的情况下自由运行iOS 5需要电弧桥接铸造,ios,xcode,image,automatic-ref-counting,Ios,Xcode,Image,Automatic Ref Counting,我正在学习一个教程,我不知道如何转换这段代码,让它在启用ARC的情况下自由运行 - (void)setHourHandImage:(CGImageRef)image { if (image == NULL) { hourHand.backgroundColor = [UIColor blackColor].CGColor; hourHand.cornerRadius = 3; }else{ hourHand.backgroundColor = [UIColor clear
- (void)setHourHandImage:(CGImageRef)image
{
if (image == NULL) {
hourHand.backgroundColor = [UIColor blackColor].CGColor;
hourHand.cornerRadius = 3;
}else{
hourHand.backgroundColor = [UIColor clearColor].CGColor;
hourHand.cornerRadius = 0.0;
}
hourHand.contents = (id)image;
唯一给我错误的部分是idimage
也
CGImageRefminHand.contents;给我一个错误
谢谢你需要一个桥牌演员
及
__桥强制转换告诉ARC,此强制转换不会以任何方式影响对象的所有权。备选方案为“保留桥”和“传输桥”,通常通过CfBridge保留和CfBridge释放功能使用。您需要一个“桥转换”
及
__桥强制转换告诉ARC,此强制转换不会以任何方式影响对象的所有权。备选方案是“保留桥”和“传输桥”,它们通常通过CfBrigingRetain和CfBrigingRelease函数使用。我通常对桥有点困惑,因为我不确定谁应该负责释放。你知道如何判断我是否应该过关吗?要知道我是否必须释放源代码,或者只是传递所有权,以便arc释放it@LuisOscar:通常情况下,所有现有实例中,如果您一次性向CF类型进行强制转换或从CF类型进行强制转换,即您没有对生成的CFTypeRef等调用CFRelease,则您需要__桥。CfBrigingRetain相当于CFRetain,即它需要与CFRelease平衡。CfBrigingRelease通过将结果obj-c对象的所有权交给ARC来平衡CFRetain/alloc/copy。我通常对bridge有点困惑,因为我不确定谁应该负责发布。你知道如何判断我是否应该过关吗?要知道我是否必须释放源代码,或者只是传递所有权,以便arc释放it@LuisOscar:通常情况下,所有现有实例中,如果您一次性向CF类型进行强制转换或从CF类型进行强制转换,即您没有对生成的CFTypeRef等调用CFRelease,则您需要__桥。CfBrigingRetain相当于CFRetain,即它需要与CFRelease平衡。CfBrigingRelease通过将所有权交给结果obj-c对象上的ARC来平衡CFRetain/alloc/copy。
w = CGImageGetWidth((CGImageRef)hourHand.contents);
hourHand.contents = (__bridge id)image;
w = CGImageGetWidth((__bridge CGImageRef)hourHand.contents);