Вы не добавили экземпляр Information
в контекст. Попробуйте это:
Login *login = [NSEntityDescription insertNewObjectForEntityForName:@"Login" inManagedObjectContext:self.managedObjectContext];
Information *information = [NSEntityDescription insertNewObjectForEntityForName:@"Information" inManagedObjectContext:self.managedObjectContext];
login.information = information;
login.information.title = informationTitleTextView.text;
//...and so on...
Конечно, если вы собираетесь получить объект Login на основе его атрибутов, вам нужно будет что-то сохранить в этих атрибутах:
login.userId = theUserId;
login.password = thePassword;
В какой-то момент в будущем вам, вероятно, захочется получить только тот объект Login, который соответствует вашим критериям. После этого вы можете без проблем получить связанный информационный объект:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Login"
inManagedObjectContext:managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userId like %@ AND password like %@", theUserId, thePassword];
[request setPredicate:predicate];
NSError *err = nil;
NSArray *matchingLogins = [self.managedObjectContext executeFetchRequest:request error:&err];
int count = [matchingLogins count];
if (count != 1) {
NSLog(@"Houston, we have a problem.");
}
Login *login = [matchingLogins objectAtIndex:0];
Information *info = login.information; // Notice: no separate fetch needed