[Flutter]「Dart Data Class Plugin」でList型を扱う場合の注意点

このページには広告が含まれる場合があります。

 

(DateTime型を扱う場合の注意点はこちら)

 

データクラスとしてあったら便利なメソッド群(copyWith・fromJson・toJsonなど)を、コマンド一発で自動生成してくれる「Dart Data Class Plugin」という、Android Studio付属の非常に便利なプラグイン(≠パッケージ)があります。

これを使って、List型のデータを変換させると、「fromMap」メソッド及び「toMap」メソッドはこのような感じになりますが、

そのままの状態で、CloudFirestoreデータベース等での読み書きを実行すると、

‘List<dynamic>’ is not a subtype of type ‘List<String>’ in type cast

というエラーが出て、うまくいかないことがあります。

その場合は、

fromMapメソッドの

dataList: map['dataList'] as List

の箇所を、

  • 一旦List<dynamic>型に変換してから、
  • List#mapメソッドを使って、Listの各要素をdynamic型から目的の型(この例の場合はString)へ変換
dataList: (map['dataList'] as List).map((e) => e as String).toList()

してやるとうまくいきます。

(詳しくは、以下の動画で解説していますので、よろしければご覧ください(List#mapメソッドに関する解説も詳しくしています)

(注)以下のフォームより当社公式メールマガジンにご登録頂くことで
約6時間のFlutter動画講座が無料で受講できます!

(メールマガジンは登録無料・いつでも解除可)

[体験版]
ゼロからのFlutter
(Flutter初級編) 

 

【体験版講座に含まれるもの】
・約70本・約6時間の動画テキスト
・1つの課題アプリのソースコード
・Flutterアプリを作るための「環境構築ライブサポート(Google Meet)」
(「体験版」は全30時間超の「製品版」の約1/6を抜粋した講座です。「製品版」の詳細はこちらから)

 

【当社公式メルマガご登録6大特典】

\約6時間動画講座を無料プレゼント!/
今すぐ無料体験版に申し込む ▶
無料メルマガ登録で講座割引クーポンなど6大特典ゲット!

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)

はじめての方へ


みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

みんプロ作成アプリ





みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
TOP