У меня есть Article
и Category
существа, у которых есть много разных отношений. Category
имеет name
и imagePath
(который сохраняет свое имя и путь к изображению значка для этой категории).Как разрешить пользователю изменять тему приложения iphone?
С этой моделью я могу показать статью с названием категории (и изображением категории), которой она принадлежит.
Проблема
Если я хочу, чтобы изменить пользовательские категории изображений (например, изменить тему с новой пачкой значка), что я должен делать?
То, что я сейчас думаю, это создать отдельную сущность, называемую ThemeItem
, которые держат categoryId
(нужно добавить, что к категории) и переместить imagePath
от Category
к этому ThemeItem
сущности, чтобы она стала
Article <<------------>> Category
- text - categoryId
- name
- categories(Relation) - articles(Relation
и
Theme <-->> ThemeItem
-themeId -categoryId
-themeName -imagePath
-theme(Relation)
при таком подходе я буду держать давайте пользователю выбрать тему через интерфейс настройки и сохранить themeId
в NSUserDefaults
Любые вещи, с которыми мне следует относиться, или это лучший способ сделать такие вещи?
Получить изображение
С новой моделью я только получил categoryId
от Category
, так что я должен смотреть в ThemeItem
получить imagePath
. Вот некоторые NSPredicate
я думаю
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"ThemeItem" inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"categoryId == %@ AND theme.themeId = %@", category_id_for_article, theme_id_from_user_defaults];
[request setPredicate:predicate];
с этим предикатом я получил ThemeItem
и его imagePath
Не могли бы вы объяснить это * с помощью этого подхода. Я должен сохранить выбранную тему в NSUserDefault и искать с помощью categoryId каждый раз, когда мне нужно изображение. *? Я думаю, вы могли бы сделать это только с категорией категории. Объясните лучше свою цель, потому что это не очень понятно для меня. Благодарю. –
Я добавляю больше деталей в отредактированную часть моего сообщения. – sarunw
Где я могу найти * themeId *? Тогда вы могли бы объяснить семантику * Тема *, * Категория * и * Статья *? Спасибо –