为什么我会收到警告"Multiple methods named 'center' found"



只有当我导入我的帮助程序类(#import"JLHelper.h")时,我才会收到此警告。

警告发生位置的示例...

[[subViews objectAtIndex:i] center].y+translation.y)];

我知道它告诉我编译器看到多个名为 center 的方法,但 center 是在 CLRegion.h 的框架中声明的。

为什么编译器在这种情况下会看到多个方法?这是一个值得关注的问题吗,如果是,我该如何追踪和解决它。

谢谢

John

问题解决了,感谢埃里克!这是修复后对我的代码的更广泛了解

NSArray *subViews = [self subviews];
UIImageView *bottomResizer;
int count = [subViews count];
for (int i =count-1; i>=0; i--) {
    if([[subViews objectAtIndex:i] tag] == 301) {
        bottomResizer = (UIImageView*)[subViews objectAtIndex:i];
        [bottomResizer setCenter:CGPointMake([bottomResizer center].x, [bottomResizer center].y+translation.y)];
    }
}

看起来你需要投射对象,这样它才能知道你的意思是哪个中心......

[((OBJECT_TYPE*)[subViews objectAtIndex:i]) center].y+translation.y)];

其中OBJECT_TYPE是 CLRegion 对象

最新更新