Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 5需要电弧桥接铸造_Ios_Xcode_Image_Automatic Ref Counting - Fatal编程技术网

iOS 5需要电弧桥接铸造

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

我正在学习一个教程,我不知道如何转换这段代码,让它在启用ARC的情况下自由运行

- (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);