Ich versuche, Daten in eine Entität einzufügen, die eine Beziehung von eins zu viele verwendet. Der Name meiner Entität lautet Student
und Detail
. Student
bis Detail
haben mehrere Beziehung und Detail
bis student
eine Beziehung. Beziehungsname ist detailRelationship
von Student
bis Detail
& studentRelationship
von Detail
bis Student
.Grund: '- [Detail addDetailRelationship:]: unerkannter Selektor an Instanz 0x6000000ad740 gesendet
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 für Insert Daten
- (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];
}
Zeigen Sie mir Fehler wie folgt aus: 'NSInvalidArgumentException', Grund: '- [Detail addDetailRelationship:]: Unbekannter Selektor gesendet Instanz 0x6000000ad740'
Ich versuche, mehrere Entity zu lernen und in diesem Code versuchen, Detail Entity in zwei Datensatz und Student Entity in Link nur Nummer dieser zwei Datensätze in Detail. Jetzt verstehst du, was ich mache? Vielen Dank. –
Hey nach Änderungen zeigen mir Fehler wie folgt: Grund: '- [Detail addDetailRelationship:]: nicht erkannte Selektor an Instanz 0x6080000ad7a0 gesendet' –