我生成的模型对象有很多错误:
ExerciseSet.h
1 @class Exercise;
2
3 @interface ExerciseSet : NSManagedObject
4
5 @property (nonatomic, retain) NSNumber * order;
6 @property (nonatomic, retain) NSNumber * reps;
7 @property (nonatomic, retain) NSNumber * weight;
8 @property (nonatomic, retain) Exercise *belongsTo;
9
10 @end
- 线路1上的
Illegal interface qualifier
- 3号线上的
Expected identifier or '('
- 8号线上的
Unknown type name 'Exercise'
Property with 'retain (or strong)' attribute must be of object type
在8号线上- 针对未调用
@synthesize
或@dynamic
(当然是调用的)的所有属性的警告
练习.h
1 @class ExerciseName, ExerciseSet, Workout, WorkoutMethod;
2
3 @interface Exercise : NSManagedObject
4
5 @property (nonatomic, retain) NSString * notes;
6 @property (nonatomic, retain) NSDecimalNumber * restBetweenSets;
7 @property (nonatomic, retain) NSNumber * rmMethod;
8 @property (nonatomic, retain) NSDecimalNumber * rmResult;
9 @property (nonatomic, retain) Workout *belongsTo;
10 @property (nonatomic, retain) NSSet *hasSet;
11 @property (nonatomic, retain) WorkoutMethod *isDoneWith;
12 @property (nonatomic, retain) ExerciseName *takesNameFrom;
13 @end
14
15 @interface Exercise (CoreDataGeneratedAccessors)
16
17 - (void)addHasSetObject:(ExerciseSet *)value;
18 - (void)removeHasSetObject:(ExerciseSet *)value;
19 - (void)addHasSet:(NSSet *)values;
20 - (void)removeHasSet:(NSSet *)values;
21 @end
- 线路1上的
Illegal interface qualifier
- 3号线上的
Missing @end
- 9号线上的
Unknown type name 'Workout'
- 等等
其他前向声明的接口是正常的,没有任何问题或错误。
是什么原因导致了这种行为?
我刚刚遇到了同样的问题,结果发现我的一个.h文件缺少@end
这也是重新生成NSManagedObjects的原因。
你能把Exercise的定义放在这里吗?你的代码看起来是正确的,但似乎你在课堂上有一个错误练习
同时尝试更改
@class Exercise
用于:
#import "Exercise.h"
我升级到Xcode 4.3,重新生成了NSManagedObject
子类,错误消失了。这一定是Xcode中的一个错误。
无论如何,谢谢你的帮助!