以下代码中出现警告。使用ARC。
if ( aAnim ) {
[UIView beginAnimations:nil context:CFBridgingRetain([NSNumber numberWithInt:aOff])];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(postSpin:finished:toCCWCellOffset:)];
}
答案 0 :(得分:9)
CFBridgingRetain
返回CFTypeRef
,声明为const void *
。
context
的{{1}}参数是[UIView beginAnimations:context:]
(没有
void *
),因此警告。
您可以使用const
来修复该警告:
__bridge_retained
请注意,必须通过释放不再存在的上下文来平衡[UIView beginAnimations:nil context:(__bridge_retained void *)[NSNumber numberWithInt:aOff]];
用过的。这可以例如通过转移所有权在“停止选择器”中完成
回到Objective-C对象:
retain