Александр,
, если эти объекты не связаны друг с другом вам необходимо Выполнение выражений различных запросов Fetch, чтобы захватить ваши данные.
Так, например, вы могли бы захватить последнюю Message
создания запроса, как следующее:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"senderEmail == %@", grabbedEmail];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"insertionDate" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
NSFetchRequest *messageFetch = [[NSFetchRequest alloc] init];
[messageFetch setEntity:[NSEntityDescription entityForName:@"Message" inManagedObjectContext:yourContext]];
[messageFetch setPredicate:predicate];
[messageFetch setSortDescriptors:sortDescriptors];
[messageFetch setFetchLimit:1];
Чтобы получить grabbedEmail
(если у вас его нет), необходимо создать запрос с определенным предикатом. То же самое можно применить к электронной почте получателя. Например.
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"userId == %@", @"someUserId"];
NSFetchRequest* userFetch = [[NSFetchRequest alloc] init];
[userFetch setEntity:[NSEntityDescription entityForName:@"User" inManagedObjectContext:yourContext]];
[userFetch setPredicate:predicate];
[userFetch setFetchLimit:1];
NSArray* userResults = [userFetch executeFetchRequest:&error];
User* retrievedUser = (User*)[userResults objectAtIndex:0];
NSString* grabbedEmail = [retrievedUser email];
Для сортировки по дате можно просто добавить к Message
enitity атрибут под названием insertionDate
(типа NSDate
), что позволяет упорядочить по дате.
Когда вы выполнить запрос
NSArray* results = [messageFetch executeFetchRequest:&error];
массив results
будет содержать (только) Message
элемент, который вы ищете.
Зачем вам нужно поддерживать отдельные эти объекты?
Надеюсь, что это поможет.
Спасибо за это! Мне нужно поддерживать эти объекты отдельно, потому что моя модель состоит из многих других объектов, кроме трех выше. Я не хочу иметь огромную модель с привязкой между всеми объектами. Поэтому я подумал, что было бы лучше иметь некоторые отношения, смоделированные как выбранные свойства ... – Alexander
@Alexander. Добро пожаловать, upvote тоже, если вы нашли полезный совет даты. :-) –