我收到同样的错误,但我已经检查过以确保在.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
答案 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)。
除非你在这里打字的方式有误,而且没有直接复制。