DartのEnumのvalues関数で取得したListはUnmodifiableListなので、remove等の破壊的変更が行えない。
toListで新しくListを作ると破壊的変更ができる。
以下のコード参照
enum ItemType { item1, item2, item3, } final items = ItemType.values; /// -> [item1, item2, item3]が返ってくる items.remove(ItemType.item1); /// "Unsupported operation: remove" というエラーメッセージが発生する final newItems = items.toList(); newItems.remove(ItemType.item1); /// -> [item2, item3]になる
今日はまった