我使用核心数据。有两个实体:Course和ReferenceBook。Course和ReferenceBook之间的关系是多对多的。
在CTXCourse.h 中:
#import <CoreData/CoreData.h>
@class CTXReferenceBook;
@interface CTXCourse : NSManagedObject
//....other property
@property (strong, nonatomic) NSSet *referenceBooks;
@end
@interface CTXCourse (CoreDataGeneratedAccessors)
- (void)addReferenceBooksObject:(CTXReferenceBook *)object;
- (void)removeReferenceBooksObject:(CTXReferenceBook *)object;
- (void)addReferenceBooks:(NSSet *)objects;
- (void)removeReferenceBooks:(NSSet *)objects;
@end
在表视图控制器中,我定义了一个 NSManagedObjectContext 实例和一个 NSFetchedResultsController 实例。有一个推送到第二个视图控制器,并传递一个课程实例。我要统计一门课的书本数,执行“ self.course.referenceBooks.count
”
错误:
[1066:fb03] -[CTXCourse referenceBooks]: unrecognized selector sent to instance 0x6e74af0
[1066:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CTXCourse referenceBooks]: unrecognized selector sent to instance 0x6e74af0'
但是,在CTXCourse.h中,我将referenceBooks命名为books,则没有错误,也就是说,计数的结果是对的。
所以,我很困惑。