我使用了一个滚动视图,并实现了一个委托方法。
-(void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(CGPoint *)targetContentOffset{
CGPoint p = *targetContentOffset;
int counter = [self counterForPosition:p];
*targetContentOffset=[self positionForCounter:counter];;
//load month -2;
self.month=counter-2;
}我收到了Xcode的警告。'scrollViewWillEndDragging:withVelocity:targetContentOffset:‘实现中参数类型的分布式对象修饰符冲突
我发现了一些提示,我不完全理解,也不能解决我的问题。Singleton release method produces warning?
现在它只是一个警告,没有什么会崩溃。我想这是我个人的强迫症,我想解决这个问题。
发送
发布于 2012-09-03 03:23:39
(CGPoint *)targetContentOffset应该读取(inout CGPoint *)targetContentOffset,以便与您试图实现的协议中的声明相匹配。请参阅此处的协议文档:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html
仅供参考:in、out、inout、byref、bycopy和oneway统称为“分布式对象修改器”。它们有点像注解,告诉编译器(或读者,或文档系统)您将如何使用函数参数。在本例中,targetContentOffset指向一个其值被使用然后被修改的CGPoint :它既是一个in参数,也是一个out参数。Clang希望确保您知道这一点,所以如果您还没有告诉Clang“是的,我知道这是一个inout参数”,Clang会向您显示该警告。
https://stackoverflow.com/questions/11600081
复制相似问题