J'essaie d'insérer des données dans une entité en utilisant une relation un à plusieurs. Mon nom d'entité est Student
et Detail
. Student
à Detail
ont une relation multiple et Detail
à student
une relation. Le nom de la relation est detailRelationship
de Student
à Detail
& studentRelationship
de Detail
à Student
.raison: '- [Détail addDetailRelationship:]: sélecteur non reconnu envoyé à l'instance 0x6000000ad740
StudentCoreDataclassProperties
#import "Student+CoreDataClass.h"
NS_ASSUME_NONNULL_BEGIN
@interface Student (CoreDataProperties)
+ (NSFetchRequest<Student *> *)fetchRequest;
@property (nullable, nonatomic, copy) NSString *number;
@property (nullable, nonatomic, retain) NSSet<Detail *> *detailRelationship;
@end
@interface Student (CoreDataGeneratedAccessors)
- (void)addStudentRelationshipObject:(Detail *)value;
- (void)removeStudentRelationshipObject:(Detail *)value;
- (void)addStudentRelationship:(NSSet<Detail *> *)values;
- (void)removeStudentRelationship:(NSSet<Detail *> *)values;
@end
DetailCoreDataclassProperties
#import "Detail+CoreDataClass.h"
NS_ASSUME_NONNULL_BEGIN
@interface Detail (CoreDataProperties)
+ (NSFetchRequest<Detail *> *)fetchRequest;
@property (nullable, nonatomic, copy) NSString *name;
@property (nullable, nonatomic, copy) NSString *address;
@property (nullable, nonatomic, retain) Student *studentRelationship;
//@property (nullable, nonatomic, retain) NSSet<Detail *> *studentRelationship;
@end
@interface Detail (CoreDataGeneratedAccessors)
- (void)addDetailRelationshipObject:(Detail *)value;
- (void)removeDetailRelationshipObject:(Detail *)value;
- (void)addDetailRelationship:(NSSet<Detail *> *)values;
- (void)removeDetailRelationship:(NSSet<Detail *> *)values;
@end
Code
pour insérer des données
- (IBAction)submit:(id)sender {
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
_mainContext = [appDelegate manageObjectContext];
Detail *detailtEntity = (Detail *)[NSEntityDescription insertNewObjectForEntityForName:@"Detail" inManagedObjectContext:_mainContext];
_studentClass = (Student *)[NSEntityDescription insertNewObjectForEntityForName:@"Student" inManagedObjectContext:_mainContext];
detailtEntity.name = _nameText.text;
detailtEntity.address = _addressText.text;
detailtEntity.address = _addressText1.text;
detailtEntity.name = _nameText1.text;
_studentClass.number = _numberText.text;
NSMutableSet *mySet = [[NSMutableSet alloc] init];
[mySet addObject: _studentClass];
[detailtEntity addDetailRelationship:mySet];//crash app here
detailtEntity.studentRelationship = _studentClass;
NSError *error = nil;
[_mainContext save:&error];
if (![_mainContext save:&error]) {
NSLog(@"error in adding data %@, %@", error, [error userInfo]);
abort();
}
[self.navigationController popToRootViewControllerAnimated:YES];
}
me montrer l'erreur comme ceci: 'NSInvalidArgumentException', raison: '- [Détail addDetailRelationship:]: sélecteur non reconnu envoyé à exemple 0x6000000ad740'
Je suis essayer d'apprendre l'entité multiple et dans ce code essayer d'insérer l'entité de détail dans deux enregistrement et l'entité étudiante dans le lien seul numéro de cet enregistrement deux disponibles dans Détail. Maintenant, vous comprenez ce que M fait? Merci. –
Hey après les modifications me montrent erreur comme ceci: raison: '- [Détail addDetailRelationship:]: sélecteur non reconnu envoyé à l'instance 0x6080000ad7a0' –