🫥
enumで管理してみた話
Motivation
元々以下のように管理してた。
class CharacterImage {
CharacterImage({required this.name, required this.path});
final String name;
final String path;
}
final List<CharacterImage> imageData = [
CharacterImage(name: '', path: 'path/to/file'),
...
];
各キャラクター毎に動画のリストを作りたくなった⇨どうしよう
Idea
別でCharacterKeyを作成⇨keyとimageDataや動画のリストをMapで紐付け
class CharacterImage {
CharacterImage({required this.name, required this.path});
final String name;
final String path;
}
enum CharacterKey {a, b}
final Map<CharacterKey, CharacterImage> imageData = {
CharacterKey.a: CharacterImage(name: '', path: 'path/to/file'),
...
};
final Map<CharacterKey, List<String>> MovieId = {
CharacterKey.a: ['id1', 'id2'],
...
}
Merit
子WidgetへはCharacterKeyを渡すだけで、Widget内で必要なimageDataやMovieIdを取得できるようになった。
Question
Dartでenumって使われているんかな?今回初めて知った
Discussion