我在obj中有一个数组-c
代码

NSArray *buttonViews = @[_aboutMeView , _educationView , _appsView , _skillsView];

所有这些视图都是UIView

我定义一个for循环

 for(int i=0; i < [buttonViews count]; i++){
        [buttonViews[i] setCenter: self.wwdcView.center];
        // I get the error here
        [buttonViews[i] setTransform:CGAffineTransformMakeScale(1.0, 1.0)];
    }


但是然后我得到一个构建错误。

发现多个名为“ setTransform:”的方法,它们的结果,参数类型或属性不匹配

最佳答案

objectAtIndex:返回的对象的类型(buttonViews[i]调用的是id。编译器会看到两个setTransform:的声明,它们带有不同的参数类型,并且会抱怨。

这样会更好:

 for(UIView *buttonView in buttonViews) {
     [buttonView ...];
 }


您也可以将buttonViews声明为NSArray <UIView *>*类型。

关于ios - 发现多个名为“setTransform:”的方法,它们的结果,参数类型或属性不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36747412/

10-10 21:02