iphone - 属性类型 'shapeMatched' 与访问器类型 'setShapeMatched:' 不匹配

标签 iphone objective-c ios

我正在开发一个 iPhone 4 应用程序,但我遇到了类问题:

    @interface Pattern : NSObject {

        int maxNumShapes;
        NSMutableArray* shapes;
        NSMutableArray* shapeMatched;
        CGSize bounds;
    }
    @property (nonatomic, retain, readonly) NSMutableArray* shapes;
    @property (nonatomic, retain, readonly) NSMutableArray* shapeMatched;

    ...
    - (void) setShapeMatched:(ShapeType)type;

@end

及其实现:

- (void) setShapeMatched:(ShapeType)type {
    int index = 0;
    if (shapes != nil)
    {
        for(Object2D* obj in shapes)
        {
            if (obj.figure == type)
            {
                [shapeMatched replaceObjectAtIndex:index 
                                        withObject:[NSNumber numberWithBool:YES]];
                obj.withFillColor = YES;
                break;
            }
            else
                index++;
        }
    }
}

我收到以下警告:

Type of property 'shapeMatched' does not match type of accessor 'setShapeMatched:'

如何修复此警告?

最佳答案

您的方法 - (void)setShapeMatched:(ShapeType)type 可能旨在更改 shapeMatched 数组中的某些内容,但是,它的名称会覆盖您的属性的 setter 对于同一个数组。

不清楚,但如果你真的想覆盖 setter,参数必须是 NSMutableArray * 类型,因为这是你的属性类型。否则,如果您只是做其他事情,请重命名它以避免冲突。 setShapeMatchedType:(ShapeType)t 可能是一个不错的选择。

关于iphone - 属性类型 'shapeMatched' 与访问器类型 'setShapeMatched:' 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8242446/

相关文章:

objective-c - 使用 Foundation 的 Objective-C 中的命令行工具?

ios - Objective-C 中的用户自定义裁剪

iphone - 将 BOOL 值发送到 iOS/iPhone 上的片段着色器 OpenGL ES 2.0

iphone - 如何在 UiView 中添加 UIImagePickerController

iphone - UIViewController:检测向下钻取和向上钻取

objective-c - Objective C 中发送消息实际上是异步的吗?

ios - 无法使用类型为 '*' 的参数列表调用 '($T7, $T14)'

ios - 使用一个 Storyboard和一个 Storyboard将 iPad 应用程序移植到 iPhone

iphone - 计算器程序中的断言失败

iOS 更新重新加载内容计时器