Flutter Unwrap Compatible

こんにちは EveryDaySoft代表の永田です。

Flutterにおけるnull状態の変数をアンラップする方法を紹介します。

こちらのリンクは、開発中のFlutterグラフパッケージです。

https://pub.dev/packages/multiple_circle_chart

アンラップ対応は Exampleにあります。

c.graphTextSizeList = c.graphTextSizeList ?? [const Size(15, 15)];

他には、このような方法。

c.graphTextSizeList = [const Size(15, 15)];

Flutter 2.0から null safetyになりました。全ての型がnull非許容型です。

ようするに全てに値を入れる方式です。メリットはコードを書いた部分が何も起こらないが発生しません。しかし ?をつけると代入が起こらず、何も起きません。

紹介したいコードは値の有無判定しつつ、ない場合は代入するという方法です。

宣言する場合にlateを実施すると、一旦nullでも許容されます。

Flutter1.0の場合はnullでも良かったのですが、Flutter2.0は2021年3月3日からです。なので、それ以前のFlutterの情報、コードの宣言方法、対応方法が違います。

話は少し変わりますが、以前にはGif動画のスピード可変するFlutterライブラリーがありました。今はなかったと思います。

参照情報

https://stackoverflow.com/questions/61467478/stop-gif-animation-on-click-in-flutter

このロジックをベースにかなりリファクタリングを実施して、osが13の比較的昔のOSも最新のOSもほぼ同じ挙動でgifスピードを可変出来るロジックを作成したので、今後公開していきたいと思います。(宣伝)

以上、貴重なお時間お読みくださいまして誠にありがとうございます。