错误:请求成员theSizes不是结构或联合

时间:2009-09-14 03:07:06

标签: iphone member

我收到同样的错误,但我已经检查过以确保在.h文件中正确设置了属性。

这是代码: NSUInteger theSizesCount = [theWho.theSizes count];

错误是“错误:请求成员theSizes不是结构或联合。这个.m文件导入6 .h文件,其中4个在WW中具有相同的属性,但它与各种超类相关这个.m文件只实现其中一个,并且将WHW和theSize合成。

此外,在此代码中,theSizes变量为绿色,但是who变量不是。另外,错误发生在NSUIntegers,NSMutableArray等多个地方。

我哪里错了?一些头文件代码如下。


// TheSize.h

@class TheWho;

@interface TheSize :  NSManagedObject  
{
}

@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *amount;
@property (nonatomic, retain) TheWho *theWho;
@property (nonatomic, retain) NSNumber *displayOrder;

@end

和..

//
// TheWho.h
//


@interface ImageToDataTransformer : NSValueTransformer {
}
@end


@interface TheWho : NSManagedObject {
}

@property (nonatomic, retain) NSString *instructions;
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSSet *theSize;
@property (nonatomic, retain) UIImage *thumbnailImage;

@property (nonatomic, retain) NSManagedObject *image;
@property (nonatomic, retain) NSManagedObject *type;

@end


@interface TheWho (CoreDataGeneratedAccessors)
- (void)addTheSizesObject:(NSManagedObject *)value;
- (void)removeTheSizesObject:(NSManagedObject *)value;
- (void)addTheSizes:(NSSet *)value;
- (void)removeTheSizes:(NSSet *)value;
@end

3 个答案:

答案 0 :(得分:1)

我再次检查了我的声明,我不得不在NSSet * theSize条目中添加“s”。那些错误消失了。谢谢大家的帮助。

答案 1 :(得分:0)

您仍需要定义成员变量。 @property指令声明了访问器方法,而不是底层成员。

@interface TheWho : NSManagedObject {
    NSString *instructions;
    NSString *name;
    NSSet *theSize;
    UIImage *thumbnailImage;

    NSManagedObject *image;
    NSManagedObject *type;
}

答案 2 :(得分:0)

您正在尝试访问theWho.theSizes但是根据您的头文件,您应该尝试theWho.theSize(没有尾随s)。

除非你在这里打字的方式有误,而且没有直接复制。