У меня есть приложение, которое отображает видео. Приведенный ниже код получает список видео (с использованием основных данных), фильтрует его только по тем видео, которые были просмотрены ранее, а затем находит следующее видео и добавляет его в список видео.
По сути, вместо того, чтобы показывать каждое видео, я просто показываю ранее просмотренные видео + то, которое вы должны просмотреть дальше.
videos = [[loader loadVideos] mutableCopy];
// Get only the viewed videos
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(viewed == YES)"];
NSMutableArray *viewedVideos = [[videos filteredArrayUsingPredicate:predicate] mutableCopy];
Video *lastWatchedVideo = [viewedVideos lastObject];
// The next video will be equal to the video order of the previous video (starting at 1 vs 0)
Video *todaysVideo = [videos objectAtIndex:[lastWatchedVideo.videoOrder intValue]];
[viewedVideos addObject:todaysVideo];
Все работает должным образом в пользовательском интерфейсе, за исключением того, что любые изменения объекта todaysVideo (например, пометка его как просмотренного) не сохраняются обратно в базу данных. Это потому, что я переместил его в другой массив?